女人自慰AV免费观看内涵网,日韩国产剧情在线观看网址,神马电影网特片网,最新一级电影欧美,在线观看亚洲欧美日韩,黄色视频在线播放免费观看,ABO涨奶期羡澄,第一导航fulione,美女主播操b

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

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

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

各種Shell命令的用法和作用

Linux愛好者 ? 來源:Linux愛好者 ? 作者:小白學(xué)黑客 ? 2021-01-11 10:47 ? 次閱讀

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

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

希望能對大家有所幫助。

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è)位于德國的IP地址,開放了4444,5555,7777等數(shù)個(gè)特殊的服務(wù)端口

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

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

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

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

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

進(jìn)程如何隱藏

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

要回答這個(gè)問題,先來知道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)程和線程信息,來查看一下:

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命令工具。可以從GitHub上下載它們的源碼,加入對應(yīng)的過濾邏輯,在遍歷進(jìn)程的時(shí)候,剔除挖礦進(jìn)程,實(shí)現(xiàn)隱藏的目的。

模塊注入

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

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

內(nèi)核級隱藏

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

揪出挖礦進(jìn)程

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

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

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

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

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

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

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

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

如果目錄不存在,跳過

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

如果在ps命令中能看到,跳過

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

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

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

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

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

還記得前面通過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,再通過下面的命令看一下這個(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)上一搜這家伙,看來是慣犯了:

挖礦病毒分析

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

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

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

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

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

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

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

清除建議

開啟SELinux

殺掉挖礦進(jìn)程

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

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

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

防火墻封禁IP、端口

責(zé)任編輯:xj

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

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

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

    關(guān)注

    68

    文章

    11033

    瀏覽量

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

    關(guān)注

    6

    文章

    448

    瀏覽量

    16318

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

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

收藏 人收藏

    評論

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

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

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

    交換機(jī)常用配置命令

    在現(xiàn)代網(wǎng)絡(luò)通信中,交換機(jī)作為局域網(wǎng)(LAN)的核心設(shè)備,其配置和管理對于網(wǎng)絡(luò)的性能和穩(wěn)定性至關(guān)重要。本文旨在深入探討交換機(jī)的常用配置命令,從基本命令到高級配置,全面解析這些命令用法
    的頭像 發(fā)表于 02-02 16:56 ?1565次閱讀

    Linux從零到精通:最簡單的Shell腳本入門教程

    通過簡單的命令和腳本,實(shí)現(xiàn)對系統(tǒng)的靈活控制和自動(dòng)化管理。 shell腳本前言 shell腳本入門 shell變量基礎(chǔ) shell變量子串
    的頭像 發(fā)表于 12-05 09:56 ?1373次閱讀
    Linux從零到精通:最簡單的<b class='flag-5'>Shell</b>腳本入門教程

    Linux系統(tǒng)中shell命令解析

    shell是Linux系統(tǒng)的用戶界面,提供了用戶與內(nèi)核交互的一種接口,它接收用戶輸入的命令并到送到內(nèi)核去執(zhí)行,因此也被稱為Linux的命令解釋器。
    的頭像 發(fā)表于 11-05 15:40 ?787次閱讀

    TCSH shell 編程入門

    ICer從業(yè)人員最先需要掌握的語言,就是linux shell語言。TCSH是ICer使用最多的Shell語言,可以說ICer入門語言從TCSH開始。
    發(fā)表于 11-01 10:45 ?0次下載

    Linux lsof命令的基本用法

    在 linux 系統(tǒng)中,一切皆文件。通過文件不僅僅可以訪問常規(guī)數(shù)據(jù),還可以訪問網(wǎng)絡(luò)連接和硬件。所以 lsof 命令不僅可以查看進(jìn)程打開的文件、目錄,還可以查看進(jìn)程監(jiān)聽的端口等 socket 相關(guān)的信息。本文將介紹 lsof 命令的基本
    的頭像 發(fā)表于 10-23 11:52 ?1065次閱讀
    Linux lsof<b class='flag-5'>命令</b>的基本<b class='flag-5'>用法</b>

    飛凌嵌入式ElfBoard ELF 1板卡-shell腳本編寫之test命令

    test命令用于測試某個(gè)條件是否成立,它可以進(jìn)行數(shù)值、字符和文件三個(gè)方面的測試。在shell文件中輸入命令,通過特定的參數(shù)可以對數(shù)值、字符串進(jìn)行比較,如下參數(shù)及示例。1、數(shù)值比較參數(shù)舉例,在
    發(fā)表于 09-05 09:09

    shell腳本執(zhí)行的三種方式及區(qū)別

    在Linux系統(tǒng)中,Shell腳本是一種非常實(shí)用的工具,用于自動(dòng)化執(zhí)行一系列命令Shell腳本可以大大提高工作效率,簡化復(fù)雜的任務(wù)。在這篇文章中,我們將介紹Shell腳本執(zhí)行的三種方
    的頭像 發(fā)表于 08-30 15:24 ?2053次閱讀

    執(zhí)行shell腳本的方式包括什么

    執(zhí)行Shell腳本的方式有很多種,以下是一些常見的方法: 直接運(yùn)行腳本文件 在命令行中,可以直接使用腳本文件的路徑來運(yùn)行腳本。例如: ./script. sh 這種方式需要確保腳本文件具有可執(zhí)行權(quán)限
    的頭像 發(fā)表于 08-30 15:17 ?662次閱讀

    shell具有的功能和特點(diǎn)

    是執(zhí)行命令。用戶可以在 Shell 提示符下輸入命令Shell 會解析命令并將其傳遞給操作系統(tǒng)執(zhí)行。S
    的頭像 發(fā)表于 08-30 14:48 ?1207次閱讀

    shell腳本編寫之本地腳本的編寫和執(zhí)行

    用來指定使用的shell應(yīng)用;echo "my first shell !"為腳本中編寫的命令代碼。2、執(zhí)行在執(zhí)行腳本時(shí),腳本必須要有執(zhí)行權(quán)限,首先給腳本賦予可執(zhí)行
    發(fā)表于 08-28 09:36

    嵌入式學(xué)習(xí)-常見的shell命令之其他命令

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

    常見的shell命令之其他命令

    1、clear清屏命令命令:clear功能:清除屏幕參數(shù):無 示例:清屏前。執(zhí)行清屏命令后,終端界面顯示信息被清除。2、man幫助命令命令
    發(fā)表于 08-21 09:49

    嵌入式學(xué)習(xí)-shell介紹

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

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

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