91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

各種Shell命令的用法和作用

Linux愛好者 ? 來(lái)源:Linux愛好者 ? 作者:小白學(xué)黑客 ? 2021-01-11 10:47 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

【前言】通過(guò)排查挖礦病毒的一次“有趣”經(jīng)歷,本文不僅展示了各種 Shell 命令的用法和作用,也能加深讀者對(duì)Linux 進(jìn)程和文件系統(tǒng)的理解。

同時(shí)在本文中,還出現(xiàn)了各種不同的工具類網(wǎng)站,相信對(duì)于一些專業(yè)人士會(huì)很有幫助。

希望能對(duì)大家有所幫助。

CPU起飛了

最近有朋友在群里反饋,自己服務(wù)器的CPU一直處于高占用狀態(tài),但用top、ps等命令卻一直找不到是哪個(gè)進(jìn)程在占用,懷疑中了挖礦病毒,急的團(tuán)團(tuán)轉(zhuǎn)。

b5e495f4-523c-11eb-8b86-12bb97331649.png

b6008322-523c-11eb-8b86-12bb97331649.png

根據(jù)經(jīng)驗(yàn),我趕緊讓他看一下當(dāng)前服務(wù)器的網(wǎng)絡(luò)連接,看看有沒有可疑連接,果然發(fā)現(xiàn)了有點(diǎn)東西:

b60fb694-523c-11eb-8b86-12bb97331649.png

上Shodan查一下這IP地址:

b66a4956-523c-11eb-8b86-12bb97331649.png

反向查找,發(fā)現(xiàn)有諸多域名曾經(jīng)解析到這個(gè)IP地址:

b69b5dac-523c-11eb-8b86-12bb97331649.png

這是一個(gè)位于德國(guó)的IP地址,開放了4444,5555,7777等數(shù)個(gè)特殊的服務(wù)端口

b6d88786-523c-11eb-8b86-12bb97331649.png

其中這位朋友服務(wù)器上發(fā)現(xiàn)的連接到的是7777端口,鐘馗之眼顯示,這是一個(gè)HTTP服務(wù)的端口,直接訪問(wèn)返回的信息如下:

b7319416-523c-11eb-8b86-12bb97331649.png

mining pool!,服務(wù)器正在挖礦實(shí)錘了!

但神奇的是,這個(gè)進(jìn)程像是隱身了一般,找不到存在的任何痕跡。

進(jìn)程如何隱藏

現(xiàn)在說(shuō)回到本文的正題:Linux操作系統(tǒng)上,進(jìn)程要隱藏起來(lái),有哪些招數(shù)?

要回答這個(gè)問(wèn)題,先來(lái)知道ps、top等命令枚舉系統(tǒng)的進(jìn)程列表的原理。

Linux的設(shè)計(jì)哲學(xué)是:一切皆文件!

進(jìn)程也不例外, Linux系統(tǒng)中有一個(gè)特殊的目錄:/proc/,這個(gè)目錄下的內(nèi)容,不是硬盤上的文件系統(tǒng),而是操作系統(tǒng)內(nèi)核暴露出的內(nèi)核中進(jìn)程、線程相關(guān)的數(shù)據(jù)接口,也就是procfs,里面記錄了系統(tǒng)上正在運(yùn)行的進(jìn)程和線程信息,來(lái)查看一下:

b7884bda-523c-11eb-8b86-12bb97331649.png

這些以數(shù)字命名的目錄,就是一個(gè)進(jìn)程的PID,里面記錄了該進(jìn)程的詳細(xì)信息。

而ps、top等命令的工作原理,實(shí)質(zhì)上就是遍歷這個(gè)目錄。

知道了原理,想實(shí)現(xiàn)隱藏就有以下幾個(gè)思路:

命令替換

直接替換系統(tǒng)中的ps、top命令工具??梢詮腉itHub上下載它們的源碼,加入對(duì)應(yīng)的過(guò)濾邏輯,在遍歷進(jìn)程的時(shí)候,剔除挖礦進(jìn)程,實(shí)現(xiàn)隱藏的目的。

模塊注入

編寫一個(gè)動(dòng)態(tài)鏈接庫(kù)so文件,在so中,HOOK遍歷相關(guān)的函數(shù)(readdir/readdir64),遍歷的時(shí)候,過(guò)濾挖礦進(jìn)程。

通過(guò)修改LD_PRELOAD環(huán)境變量或/etc/ld.so.preload文件,配置動(dòng)態(tài)鏈接庫(kù),實(shí)現(xiàn)將其注入到目標(biāo)進(jìn)程中。

內(nèi)核級(jí)隱藏

模塊注入的方式是在應(yīng)用層執(zhí)行函數(shù)HOOK,隱藏挖礦進(jìn)程,更進(jìn)一步,可以通過(guò)加載驅(qū)動(dòng)程序的方式在內(nèi)核空間HOOK相應(yīng)的系統(tǒng)調(diào)用來(lái)實(shí)現(xiàn)隱藏。不過(guò)這對(duì)攻擊者的技術(shù)要求也更高,遇到這樣的病毒清理起來(lái)挑戰(zhàn)也更大了。

揪出挖礦進(jìn)程

通過(guò)上面的進(jìn)程隱藏原理看得住來(lái),都是想盡辦法隱藏/proc目錄下的內(nèi)容,類似于“障眼法”,所以包含ps、top、ls等等在內(nèi)的命令,都沒辦法看到挖礦進(jìn)程的存在。

但蒙上眼不代表不存在,有一個(gè)叫unhide的工具,就能用來(lái)查看隱藏進(jìn)程。

我讓這位朋友安裝這個(gè)工具來(lái)查找隱藏的進(jìn)程,但奇怪的是,一執(zhí)行yum install安裝,遠(yuǎn)程連接的SSH會(huì)話就立刻斷開。

于是退而求其次,選擇通過(guò)源碼安裝,又是一直各種報(bào)錯(cuò)···

因?yàn)槲覜]辦法親自操作這臺(tái)服務(wù)器,溝通起來(lái)比較麻煩,于是我決定研究下這個(gè)unhide工具的源碼,然后編一個(gè)python腳本發(fā)給他執(zhí)行。

源碼地址:https://github.com/YJesus/Unhide-NG/blob/master/unhide-linux.c

在查找隱藏進(jìn)程模塊,其大致使用了如下的方法:

挨個(gè)訪問(wèn)/proc/pid/目錄,其中,pid從1到到max_pid累加

如果目錄不存在,跳過(guò)

如果是unhide自己的進(jìn)程,跳過(guò)

如果在ps命令中能看到,跳過(guò)

剩下的,既不是自己,也不在ps命令輸出中,則判定為隱藏進(jìn)程

按照這個(gè)思路,我編寫了一個(gè)Python腳本發(fā)給這位朋友,執(zhí)行后果然發(fā)現(xiàn)了隱藏的進(jìn)程:

b7f7daf4-523c-11eb-8b86-12bb97331649.png

別著急,不是真的有這么多進(jìn)程,這里是把所有的線程ID列舉出來(lái)了。隨便挑選了一個(gè)看一下:

b83757f6-523c-11eb-8b86-12bb97331649.png

還記得前面通過(guò)netstat命令看到挖礦進(jìn)程建立了一個(gè)網(wǎng)絡(luò)連接嗎?Linux一切皆文件,在/proc/pid/fd目錄下有進(jìn)程打開的文件信息:

b874f32c-523c-11eb-8b86-12bb97331649.png

這里發(fā)現(xiàn)這個(gè)進(jìn)程打開了一個(gè)socket,后面的10212是inode id,再通過(guò)下面的命令看一下這個(gè)socket到底是什么:

cat /proc/net/tcp | grep 10212

輸出了四元組信息:

b8903a10-523c-11eb-8b86-12bb97331649.png

左邊是源IP地址:源端口,右邊是目的IP地址:目的端口

目的端口1E61就是7777?。?!

b8cb041a-523c-11eb-8b86-12bb97331649.png

找到了,就是這貨!

再次查看cat /proc/pid/environ,定位到進(jìn)程的可執(zhí)行文件:

b8f21154-523c-11eb-8b86-12bb97331649.png

總算把這家伙找到了:

b90706ea-523c-11eb-8b86-12bb97331649.png

網(wǎng)上一搜這家伙,看來(lái)是慣犯了:

挖礦病毒分析

把這個(gè)挖礦木馬下載下來(lái),反匯編引擎中查看,發(fā)現(xiàn)加殼了。

脫殼后,在IDA中現(xiàn)出了原形,不禁倒吸了一口涼氣,居然悄悄修改/root/.ssh/authorized_keys文件,添加了RSA密鑰登錄方式,留下這么一個(gè)后門,隨時(shí)都能遠(yuǎn)程登錄進(jìn)來(lái)。

b96c91a4-523c-11eb-8b86-12bb97331649.png

b99650fc-523c-11eb-8b86-12bb97331649.png

除此之外,還發(fā)現(xiàn)了病毒嘗試連接的大量域名:

b9c824f6-523c-11eb-8b86-12bb97331649.png

看到這里簡(jiǎn)直可怕!自己的服務(wù)器被病毒按在地上摩擦??!

清除建議

開啟SELinux

殺掉挖礦進(jìn)程

刪除病毒程序(注意rm命令是否被替換)

刪除病毒驅(qū)動(dòng)程序(注意rm命令是否被替換)

刪除病毒添加的登錄憑據(jù)

防火墻封禁IP、端口

責(zé)任編輯:xj

原文標(biāo)題:急死!CPU被挖礦了,卻找不到哪個(gè)進(jìn)程!

文章出處:【微信公眾號(hào):Linux愛好者】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • cpu
    cpu
    +關(guān)注

    關(guān)注

    68

    文章

    11279

    瀏覽量

    225017
  • 挖礦
    +關(guān)注

    關(guān)注

    6

    文章

    448

    瀏覽量

    16839

原文標(biāo)題:急死!CPU被挖礦了,卻找不到哪個(gè)進(jìn)程!

文章出處:【微信號(hào):LinuxHub,微信公眾號(hào):Linux愛好者】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    Linux Shell文本處理神器合集:15個(gè)工具+實(shí)戰(zhàn)例子,效率直接翻倍

    在 Linux 系統(tǒng)中,文本是數(shù)據(jù)交互的 “通用語(yǔ)言”—— 日志文件、配置文件、數(shù)據(jù)報(bào)表、程序輸出幾乎都以文本形式存在。手動(dòng)編輯文本不僅繁瑣,還容易出錯(cuò),而掌握 Shell 文本處理工具,能讓你用幾行命令完成批量篩選、數(shù)據(jù)提取、統(tǒng)計(jì)分析,甚至復(fù)雜的文本清洗。
    的頭像 發(fā)表于 02-03 15:42 ?1522次閱讀
    Linux <b class='flag-5'>Shell</b>文本處理神器合集:15個(gè)工具+實(shí)戰(zhàn)例子,效率直接翻倍

    Shell歷史命令history用法

    1. 顯示歷史命令列表 「介紹」:history 命令用于顯示當(dāng)前會(huì)話中執(zhí)行過(guò)的命令的列表,以及每個(gè)命令對(duì)應(yīng)的編號(hào)?!甘纠a」:history 2. 使用歷史
    發(fā)表于 12-02 06:10

    【瑞薩RA6E2】1.使用串口shell點(diǎn)亮LED燈

    _TEXT_CMD_TOO_LONG, /**< 命令過(guò)長(zhǎng) */ SHELL_TEXT_CMD_LIST,/**< 可執(zhí)行命令列表標(biāo)題 */ SHELL_TEXT_VAR_
    發(fā)表于 11-09 17:26

    飛凌嵌入式ElfBoard-Linux系統(tǒng)基礎(chǔ)入門-其它shell命令

    clear清屏命令命令:clear功能:清除屏幕參數(shù):無(wú) 示例:清屏前執(zhí)行清屏命令后,終端界面顯示信息被清除:man幫助命令命令:man功能
    發(fā)表于 10-11 08:42

    shell基本介紹及常用命令shell基本介紹

    Shell是什么?我們?cè)趧傞_始接觸Linux的時(shí)候,經(jīng)常會(huì)聽到工程師提到Shell這個(gè)詞,剛開始不知道這是個(gè)干什么的,簡(jiǎn)單的說(shuō),它是一個(gè)應(yīng)用,接收用戶命令,調(diào)用相應(yīng)的內(nèi)核接口函數(shù)或應(yīng)用程序,并輸出
    發(fā)表于 09-28 09:05

    Linux基礎(chǔ)命令的進(jìn)階用法

    凌晨2點(diǎn),正在熟睡的你被電話驚醒:"線上服務(wù)響應(yīng)超時(shí),用戶大面積投訴!" 你匆忙打開電腦,SSH 登錄服務(wù)器,面對(duì)滿屏的進(jìn)程和日志,腦子一片空白——從哪里開始排查?用什么命令?怎么快速定位問(wèn)題?
    的頭像 發(fā)表于 09-02 16:33 ?698次閱讀

    深入剖析電阻的用法作用

    信號(hào)線上,為什么要接電阻?你一定想不到小小電阻,竟然有這么大的作用。本期貿(mào)澤科普實(shí)驗(yàn)室,就讓我們一起來(lái)重新認(rèn)識(shí)——電阻。
    的頭像 發(fā)表于 08-21 09:10 ?4.1w次閱讀
    深入剖析電阻的<b class='flag-5'>用法</b>和<b class='flag-5'>作用</b>

    Linux基礎(chǔ)命令which詳解

    在Linux系統(tǒng)中,which命令用于查找并顯示指定命令的可執(zhí)行文件路徑。這對(duì)于系統(tǒng)管理員和開發(fā)人員來(lái)說(shuō)是一個(gè)非常有用的工具,可以幫助定位命令所在的位置,確認(rèn)命令是否已正確安裝,并且能
    的頭像 發(fā)表于 07-29 17:58 ?858次閱讀

    【RA-Eco-RA6M4開發(fā)板評(píng)測(cè)】基于SHELL進(jìn)行DAC測(cè)試

    前言本文分享dac的測(cè)試,并增加對(duì)應(yīng)的shell命令方便測(cè)試 。 使用P014測(cè)試 配置配置DAC的輸出引腳 “Stacks” -> “New Stack” ->
    發(fā)表于 07-20 10:16

    【RA-Eco-RA6M4開發(fā)板評(píng)測(cè)】移植shell實(shí)現(xiàn)命令交互

    /XLmbJn0SKoDT1aLdxHDrbg 一個(gè)超級(jí)精簡(jiǎn)高可移植的shell命令行C實(shí)現(xiàn)二. 移植移植參考上述文章,很簡(jiǎn)單只需要實(shí)現(xiàn)輸入輸出接口 即可。代碼見shell.c/h shell
    發(fā)表于 07-19 22:47

    Shell腳本入門指南

    Shell 是一塊包裹著系統(tǒng)核心的殼,處于操作系統(tǒng)的最外層,與用戶直接對(duì)話,把用戶的輸入, 解釋給操作系統(tǒng),然后處理操作系統(tǒng)的輸出結(jié)果,輸出到屏幕給與用戶看到結(jié)果。
    的頭像 發(fā)表于 06-03 10:47 ?1205次閱讀
    <b class='flag-5'>Shell</b>腳本入門指南

    飛凌嵌入式ElfBoard ELF 1板卡-Uboot常用命令之查看命令

    查看使用說(shuō)明:=&gt;help setenv這里可以看到setenv命令有兩種用法,一種是設(shè)置環(huán)境變量值,一種是刪除環(huán)境變量,具體使用方法在下一節(jié)中詳細(xì)說(shuō)明。
    發(fā)表于 05-22 11:26

    Linux常用命令大全

    Linux常用命令是指在Linux操作系統(tǒng)中廣泛使用的命令工具,這些命令工具可以完成各種不同的任務(wù),如管理文件和目錄、操作進(jìn)程、網(wǎng)絡(luò)通信、軟件安裝等。
    的頭像 發(fā)表于 05-03 18:08 ?1867次閱讀

    Linux中文本處理命令用法

    Linux 三劍客是(grep,sed,awk)三者的簡(jiǎn)稱,熟練使用這三個(gè)工具可以提升運(yùn)維效率。Linux 三劍客以正則表達(dá)式作為基礎(chǔ),而在Linux系統(tǒng)中,支持兩種正則表達(dá)式,分別為“標(biāo)準(zhǔn)正則表達(dá)式”和“擴(kuò)展正則表達(dá)式”。在掌握好正則表達(dá)式后,將具體講解三劍客的用法。
    的頭像 發(fā)表于 04-15 10:22 ?773次閱讀
    Linux中文本處理<b class='flag-5'>命令</b>的<b class='flag-5'>用法</b>

    樹莓派新手必看!在樹莓派上編寫和運(yùn)行 Shell 腳本!

    在本教程中,我將討論Shell腳本的基礎(chǔ)知識(shí)、它們的用途以及如何在RaspberryPi上編寫和運(yùn)行Shell腳本。什么是Shell腳本?Shell腳本可以讓你自動(dòng)化幾乎所有在Linu
    的頭像 發(fā)表于 03-25 09:28 ?1162次閱讀
    樹莓派新手必看!在樹莓派上編寫和運(yùn)行 <b class='flag-5'>Shell</b> 腳本!