您的当前位置:首页 > 综合 > 渗透全流程 正文

渗透全流程

时间:2026-10-17 04:35:53 来源:网络整理 编辑:综合

核心提示

拿到一台目标机器,第一步不是敲命令,是看。看什么?看它开了哪些端口,跑了哪些服务,系统大概是什么版本。这活儿用nmap扫一遍就八九不离十。我习惯先跑一个快速扫描,只扫常见端口,速度优先。比如 nmap

拿到一台目标机器,渗透第一步不是全流敲命令,是渗透看。看什么?全流看它开了哪些端口,跑了哪些服务,渗透系统大概是全流什么版本。这活儿用nmap扫一遍就八九不离十。渗透我习惯先跑一个快速扫描,全流只扫常见端口,渗透速度优先。全流比如 nmap -sS -T4 10.10.10.5,渗透结果出来,全流22、渗透80、全流445开着。渗透22是SSH,80是HTTP,445是SMB。这三个端口,每一个都可能是入口。

80端口先看。浏览器打开,一个登录页面。用户名密码输入框,底下写着“Powered by XXX CMS”。这就有意思了。CMS版本旧不旧?右键查看源码,找版本号。或者跑个whatweb,一秒钟出结果。版本号一出来,搜一下有没有公开的漏洞。这步很关键,别急着上字典爆破,先看看有没有现成的exp。很多渗透测试就卡在这一步,明明有捷径,非要硬碰硬。

假设搜到一个SQL注入漏洞,在登录页的用户名参数。手工验证一下,输入 admin' OR 1=1 --,密码随便填。回车。进去了。后台界面简陋得很,但功能齐全,能上传文件。上传点什么呢?先传个图片试试,看看有没有过滤。传个php文件,提示“不允许的文件类型”。那就改后缀,改成 .php5 或者 .phtml,再传。有时候能绕过。如果绕不过,就试试截断,或者改Content-Type。这些手法老套,但管用。

上传成功,拿到webshell。这时候别急着提权,先看看当前用户是谁。whoami,输出 www-data。权限很低,很多文件读不了。接下来就是提权。提权的方法太多了,内核漏洞、SUID、计划任务、环境变量。我一般先跑个LinEnum脚本,把系统信息全列出来。看看内核版本,uname -a,如果是老内核,直接上脏牛。脏牛这个漏洞,虽然老,但很多没打补丁的机器还能用。编译,运行,等几分钟,root密码就出来了。

拿到root,这台机器就算拿下了。但渗透测试不是拿到一台就完事。这台机器可能只是内网的一台跳板。看看它的网络配置,ifconfig,有没有第二块网卡?有的话,内网还有别的机器。这时候就要做内网渗透了。挂个代理,用proxychains扫内网。或者直接在这台机器上开个socks5代理,把流量转发进去。

内网里能干什么?看共享文件夹,找配置文件,里面可能有数据库密码。看浏览器历史记录,说不定有运维人员登录过其他系统的凭证。看SSH的known_hosts,里面记录了这台机器连过哪些其他机器。这些都是线索。有一次我在一台机器上翻到一个txt文件,里面写着“数据库密码:admin123”,后面还跟着IP地址。直接连过去,数据库权限全开,整个公司的数据都在里面。

渗透的流程不是线性的。有时候你拿到webshell,提权失败,就得回头看看Web应用有没有其他漏洞。有时候你拿下root,发现内网全是Windows,又得换一套打法。关键是思路要活,别死磕一个点。工具是死的,人是活的。同一个漏洞,别人能利用,你利用不了,可能是环境不一样,也可能是你漏了某个细节。

最后说一句,渗透测试的边界很重要。没有授权,别碰任何机器。这是底线。