外网渗透,各个端口的利用:
前言:
一台服务器为什么可以同时是Web服务器,也可以是FTP服务器,还可以是邮件服务器等,其中一个很重要的原因是各种服务采用不同的端口分别提供不同的服务,比如:通常TCP/IP协议规定Web采用80号端口,FTP采用21号端口,而邮件服务器是采用25号端口。这样,通过不同端口,计算机就可以与外界进行互不干扰的通信!!!
80端口(Apache服务——http)
1. 原理:
查看扫描到的目录,发现漏洞,进而获取shell等信息;
2. 实验过程:
2.1> 发现目标开启apache服务,在网页中可以尝试web渗透(爆破、sql注入、xss、csrf等)
2.2> 网站指纹信息扫描(whatweb)
2.3> 目录扫描(dirb) > dirb http://ip
2.4> 查看扫描到的网站目录
2.4.1> 打开目标主机的php配置文件
http://192.168.37.139/info.php 含有目标主机服务器的各项配置信息,若被攻击者看到,风险极高;
2.4.2> 查看禁止爬虫机器人爬取的文件robots.txt
2.4.3> 查看搭站模板 http://ip /wordpress/
2.4.4> 查看搭站后台登录页面 http://ip/wordpress/wp-admin/
2.5> 制作后门(在404页面中注入一句话木马)
2.6> 检测后门,使用中国菜刀,获取webshell权限
2.7> 查看phpmyadmin后台登录页面
2.8> 查看phpmyadmin后台登录页面 http://192.168.37.139/phpmyadmin/
22端口(SSH服务)
实验过程:
-
尝试使用用户名:X,密码:12345 远程连接目标主机;
ssh X@密码,远程连接成功后,查看当前登录用户togie允许命令的权限信息:
whoami
pwd
uname -a
sudo -l
groups -
提权操作,获取root权限;
sudo su root
提权后,可以进行一系列操作:
1.后门文件可以多放几个在不同的目录,使用不同的文件名,防止被发现;
2.也可以使用webacoo工具自动生成一句话木马(webacoo -g -o 2.php);
3.查看日志,选择要查看和清除的日志,可以使用“echo >日志文件”,来清空日志的内容;,以及查看当前登录用户的详细信息;
4.若日志是一个二进制文件,不能用诸如cat、tail等查看,可以使用last/lastb查看;
5./root/.bash_history文件保存了用户最近输入命令的记录;
139,445端口(共享服务)
1. 原理
查看所有可以查看的文件:find /-writable -type f 2 >/dev/null/ | grep -v “/proc/”
通过扫描共享用户的用户名和密码,查看是否可以查看共享信息;
2. 操作过程
2.1> 枚举靶机信息; enum4linux 192.168.37.139
2.2> 远程网络挂载(利用共享端口进行光盘挂载
mount -t cifs -o username=’’,password=’’ //192.168.37.139/share$ /media)
2.3> 查看挂载的内容;
139,445共享的目录为/var/www/html,可以查看目录下的内容;
在deets.txt文件中有一个密码信息,12345;
查看WordPress后台登录的配置文件,可以知道数据库文件登录的用户名和密码;
21端口(ftp服务)
FTP(File Transfer Protocol,文件传输协议) 是 TCP/IP 协议组中的协议之一。FTP协议包括两个组成部分,其一为FTP服务器,其二为FTP客户端。其中FTP服务器用来存储文件,用户可以使用FTP客户端通过FTP协议访问位于FTP服务器上的资源。
在开发网站的时候,通常利用FTP协议把网页或程序传到Web服务器上。此外,由于FTP传输效率非常高,在网络上传输大的文件时,一般也采用该协议。
默认情况下FTP协议使用TCP端口中的 20和21这两个端口,其中20用于传输数据,21用于传输控制信息。但是,是否使用20作为传输数据的端口与FTP使用的传输模式有关,如果采用主动模式,那么数据传输端口就是20;如果采用被动模式,则具体最终使用哪个端口要服务器端和客户端协商决定;
465端口(smtp 服务)
SMTP(Simple Mail Transfer Protocol)即简单邮件传输协议,它是一组用于由源地址到目的地址传送邮件的规则,由它来控制信件的中转方式。
SMTP协议属于TCP/IP协议簇,它帮助每台计算机在发送或中转信件时找到下一个目的地。通过SMTP协议所指定的服务器,就可以把E-mail寄到收信人的服务器上了,SMTP服务器则是遵循SMTP协议的发送邮件服务器,用来发送或中转发出的电子邮件。
443端口(HTTPS 服务)
超文本传输安全协议(英语:Hypertext Transfer Protocol Secure,缩写:HTTPS,常称为HTTP over TLS,HTTP over SSL或HTTP Secure)
是一种通过计算机网络进行安全通信的传输协议。HTTPS经由HTTP进行通信,但利用SSL/TLS来加密数据包。
HTTPS开发的主要目的,是提供对网站服务器的身份认证,保护交换数据的隐私与完整性。
23端口(telnet )
Telnet协议是一种应用层协议,使用于互联网及局域网中,使用虚拟终端机的形式,提供双向、以文字字符串为主的命令行接口交互功能。属于TCP/IP协议族的其中之一,
是Internet远程登录服务的标准协议和主要方式,常用于服务器的远程控制,可供用户在本地主机运行远程主机上的工作。
3306端口(MySQL)
MySQL是一种关系数据库管理系统,关系数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。
root账户下de为所欲为;
1. 清除痕迹
(注:查看对应的日志信息,找出有关记录自己登录目标靶机的日志进行删除即可)
1.1> 查看日志文件,选择要查看和清除的日志;
cd /var/log
1.2> 查看身份认证的日志(auth.log)
cat /var/log/auth.log #查看身份认证日志
echo >/var/log/auth.log
可以看到日志中有很多的sshd爆破和来源IP地址:192.168.37.131(kali);这是因为我之前还去尝试了ssh爆破用户名和密码;
可以使用“echo >日志文件”,来清空日志的内容;
1.3> 查看错误登录日志(btmp)
last -f /var/log/btmp
该日志是一个二进制文件,不能用诸如cat、tail等查看,可以使用last/lastb查看;
1.4> 查看当前登录用户的详细信息(wtmp),该日志文件永久记录每个用户登录、注销及系统的启动、停机的事件。
该日志为二进制文件,不能用诸如tail/cat/等命令,可以使用last命令查看。
1.5> 最后一次登录的登录时间日志(lastlog)
Lastlog
最近的用户登录事件,一般记录最后一次的登录事件;
该日志不能用诸如cat、tail等查看,因为该日志里面是二进制文件,可以用lastlog命令查看;
它根据UID排序显示登录名、端口号(tty)和上次登录时间;
如果一个用户从未登录过,lastlog显示 Never logged;
若发现记录的时间不是用户上次登录的时间,这说明该账户已经被非法登录过;
1.6> /root/.bash_history文件保存了用户最近输入命令的记录;
三. 实验总结
-
wordpress是一个相对封闭和安全的博客系统,对于wordpress类站点的渗透攻击,可以dir爆目录,发现敏感信息; 进入后台,Appearance页面404. php/index.php 挂马,菜刀连接,反弹shell,提权等;
-
如果目标靶机开放了139,445端口,可以使用enum4linux枚举靶机信息,利用远程挂载,查看共享信息;
-
若获取的shell用户账号在sudo组内,可直接使用sudo命令进行提权;
-
查看目标的网站系统,对于dirb扫描出来的网站目录信息要进行验证,会发现突破口,注意留意疑似用户名和密码的信息;
HTTP:80
FTP:21
SSH:22
Telnet:23
SMTP:25
whois++:63
POP2:109
POP3: 110
DHCP Client:546
DHCP Server:547
MSN:569
SSL:990
IMAP:993
Worm.Sasser.e:1023
sqlserver:1433
Oracle:1521
MySql:3306