Conficker

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.
[cce lang=”text”]# 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)[/cce]

Nätverksövervakning med Ndiff

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.
[cce lang=”text”]# svn co –username guest –password “” svn://svn.insecure.org/nmap/ nmap[/cce]
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.
[cce lang=”text”]nmap -n -oX /root/baseline.xml 192.168.1.0/24[/cce]
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)
[cce lang=”text”]
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)
[/cce]
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)
[cce lang=”text”]
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)
[/cce]

Random Generator

Efter att mer eller  mindre dagligen behöva skapa ny lösenord till användare så kommer denna lilla oneliner väl tillhands. -c8 kan ändras till den policy som gäller för dig.
[cce lang=”text”]
# </dev/urandom tr -dc A-Za-z0-9 | head -c8
[/cce]
Lägg till följande i ~/.bashrc så kan du kalla på randpass när det beövs
[cce lang=”bash”]
function randpass
{
echo `</dev/urandom tr -dc A-Za-z0-9 | head -c8`
}
[/cce]

Ping Sweeper

Här kommer en oneliner för att scanna av det lokala nätet efter klienter. Det finns naturligtvis bättre program för detta så som nmap, men nu ska det göras i bash utan extra program.
[cce lang=”text”]ping -b -c 3 255.255.255.255 >/dev/null 2>&1; arp | awk ‘{print $1 “\t” $3}'[/cce]
Onelinern skickar 3 packet till broadcast adressen och sammlar ihop resultatet från din arptabel och formaterar det till läsbarhet.
[cc lang=”text”]Address HWaddress
192.168.0.107 00:16:ea:42:67:d2
192.168.0.1 00:1b:11:4a:5b:07
192.168.0.108 00:18:2a:47:34:e5[/cc]
Det verkar inte som Windows maskiner svarar på broadcast ping så detta fungerar bara för *nix

DDos

En ny form av DDos attack har visat sig i bind loggarna.

Det dycker upp en massa queries  efter “.” vilket innebär att dns servern svarar med sin lista över root servrarna.

Ett spoofat udp packet på 45 bytes skickas till dns servern som skickar tillbaka ett 10 gånger större packet till den spoofade ip adressen som egentligen aldrig gjort förfrågningen.  Attacken har visat sig i oehört många dns loggar och de spoofade ip adresserna är följande.
[cce lang=”text”]63.217.28.226
66.230.160.1
66.230.128.15
69.50.142.11
69.50.142.110
76.9.16.171
76.9.31.42
216.201.82.19[/cce]
Du slipper lätast problemet genom att spärra dessa ip i din brandvägg.

Mer info kan hittas här : http://isc.sans.org/diary.html?storyid=5713