脏数据绕过waf,Yakit爆破base64编码密码,ssh无密码登录受害主机

文章目录

  • waf、Yakit、ssh 技巧
    • waf 脏数据绕过
    • Yakit 工具
      • 对明文密码通过base64编码的格式进行爆破
    • SSH
      • 实操

waf、Yakit、ssh 技巧

waf 脏数据绕过

以pikachu靶场的文件上传功能为例

上传一个木马图片

脏数据绕过waf,Yakit爆破base64编码密码,ssh无密码登录受害主机_第1张图片

显示已拦截。

找到form-data;字段加一个分号,中间写一些脏数据,前提是不能打乱数据包的原有数据结构。

脏数据绕过waf,Yakit爆破base64编码密码,ssh无密码登录受害主机_第2张图片

Yakit 工具

对明文密码通过base64编码的格式进行爆破

账号明文密码在互联网上进行传输,属于低危漏洞,抓到包以后能对其进行爆破。

客户对其做的防护一般有两种:1.编码;2.加密。

现在说一下客户对其编码的问题,客户在前端做了一个base64加密,在后端进行了base64解密。

编码后抓到包以后进行爆力破解时会遇到一个问题,抓到的密码是base64编码之后的密码,不能对其进行明文密码的爆破。需要把自己的密码字典都编码成base64才能爆破出来。 把自己的字典全编码成base64很明显不太现实,字典小一点还好。这时需要在爆破的时候外面再加一层base64编码。

举个例子:写一个php代码,代码内容如下:



echo base64_decode($_GET['passwd']);

?>

把它放到web服务器上访问:

脏数据绕过waf,Yakit爆破base64编码密码,ssh无密码登录受害主机_第3张图片

后端会认为admin 是base64编码格式,会对其进行base64解码,就成了i佗 ,如果把admin换成base64编码之后的格式:

admin ==>base64 ==> YWRtaW4

再次访问:

脏数据绕过waf,Yakit爆破base64编码密码,ssh无密码登录受害主机_第4张图片

后端进行base64解码后,输出admin。

可以使用Yakit工具对其base64编码后的密码进行爆破

写一个 php 测试代码,内容如下:



$a= base64_decode($_GET['passwd']);

if($a=="admin"){
	echo "welcome";
}else{
	echo "error";
}

?>

首先配置浏览器代理:

脏数据绕过waf,Yakit爆破base64编码密码,ssh无密码登录受害主机_第5张图片

设置Yakit交互式劫持:

脏数据绕过waf,Yakit爆破base64编码密码,ssh无密码登录受害主机_第6张图片

脏数据绕过waf,Yakit爆破base64编码密码,ssh无密码登录受害主机_第7张图片

然后访问192.168.160.38/eval.php?passwd=admin

脏数据绕过waf,Yakit爆破base64编码密码,ssh无密码登录受害主机_第8张图片

显示error,因为admin在后端进行了base64解码,所有输出错误。

查看抓包:

脏数据绕过waf,Yakit爆破base64编码密码,ssh无密码登录受害主机_第9张图片

选中admin,右击 --> 插入标签/字典 --> 插入模糊测试字典查询

脏数据绕过waf,Yakit爆破base64编码密码,ssh无密码登录受害主机_第10张图片

选择user_top10默认字典:

脏数据绕过waf,Yakit爆破base64编码密码,ssh无密码登录受害主机_第11张图片

点击发送请求:

脏数据绕过waf,Yakit爆破base64编码密码,ssh无密码登录受害主机_第12张图片

我们现在还是明文爆破,没有对其进行base64编码,所有不用看也知道没有成功。

加上base64编码:

{{base64(需要加密的数据)}}

发送请求:

脏数据绕过waf,Yakit爆破base64编码密码,ssh无密码登录受害主机_第13张图片

找出最特殊的包,爆破成功。



SSH

通过webshell拿下一台服务器的权限以后,可以在服务器上上传一个cs木马或者通过ssh连接到服务器。

cs木马比一句话木马要强大的多,并且是图形化界面,很友好。

但是ssh连接必须要知道明文密码才能登录。

现在我们要实现ssh免密码登录,ssh采用的是非对称加密的,一旦把自己的公钥写进受害者服务器的ssh目录里时,就可以做到不需要密码进行ssh连接。

实操

使用kali主机作为受害者服务器

kali :192.168.160.32

攻击机:192.168.160.38

前提:

  • 受害者服务器开启ssh服务
systemctl start ssh.service #开启ssh服务

注:在没登陆ssh服务之前,ssh目录是没有的:

image-20231018205142087

触发一下:

ssh [email protected]

脏数据绕过waf,Yakit爆破base64编码密码,ssh无密码登录受害主机_第14张图片

脏数据绕过waf,Yakit爆破base64编码密码,ssh无密码登录受害主机_第15张图片

进入ssh目录:

image-20231018205612326

这个目录里存放着已经通过认证的主机公钥。我们只要把ssh客户端的公钥写进来就可以了。

这里我们使用Git-2.41.0-64-bit 工具。

在用户目录 -->右击–>Git Bash Here

脏数据绕过waf,Yakit爆破base64编码密码,ssh无密码登录受害主机_第16张图片

输入:

ssh-keygen -t rsa

脏数据绕过waf,Yakit爆破base64编码密码,ssh无密码登录受害主机_第17张图片

ssh目录就会出现:

脏数据绕过waf,Yakit爆破base64编码密码,ssh无密码登录受害主机_第18张图片

进入ssh目录:

脏数据绕过waf,Yakit爆破base64编码密码,ssh无密码登录受害主机_第19张图片

复制id_rsa.pub 文件内容(公钥):

脏数据绕过waf,Yakit爆破base64编码密码,ssh无密码登录受害主机_第20张图片

把文件内容复制到受害者服务器的ssh目录下,这里我文件命名为authorized_keys

脏数据绕过waf,Yakit爆破base64编码密码,ssh无密码登录受害主机_第21张图片

然后攻击者使用Git命令行ssh无密码连接受害者服务器:

脏数据绕过waf,Yakit爆破base64编码密码,ssh无密码登录受害主机_第22张图片

连接成功,over。

你可能感兴趣的:(ssh,运维,网络安全,安全)