modul keamanan komputer triawan
DESCRIPTION
Modul Keamanan KomputerTRANSCRIPT
0
1
2
3
4
5
6
7
8
TableofContentsKataPengantar
Bab1-Dasar-dasarPenggunaanWireshark
Bab2-TutorialMenggunakanWireshark
Bab3-SniffingPadaJaringanKabeldanNirkabel
Bab4-BekerjaDenganDataHasilTangkapan
Bab5-PingdanPortScanning
Bab6-PengenalanPython
Bab7-SniffingMenggunakanPython
Bab8-PengenalanAnalisaMalware
HandoutKeamananKomputer
2
ModulPraktikumKeamananKomputerAlhamdulilah,wasyukurilah,wallailahaillallah,AllahAkbar.TerimakasihyangtakterhinggasayaucapkankepadaAllahSWT,atasnikmat,kesehatandansemangatjuangyangdiberikankepadasaya,sehinggadapatmenyelesaikanmoduluntukmatakuliahkeamanankomputer.
Tentusajainiadalahpengalamansayamenulismodulsendiri,karenapadapraktikumtahunsebelumnyatidakadamatakuliahini.Karenasayatertarikdenganbidangkeamanankomputer,makasayamencobamenyisihkanwaktuuntukmenulis.
Materimodulkeamanankomputeriniterdiridaripengenalanpaketdata,penggunaanwireshark,pengenalanpython,pemrogramanpythonuntukmendukungkeamanankomputer,pengenalananalisamalware,dasar-dasarreverseengineeringdanlatihan.
Semogadenganterselesaikannyamodulini,dapatmembawamanfaatdanmembawailmupengetahuanbagisiapasajayangmembaca.
Jember,November2015
Salam
Penulis
HandoutKeamananKomputer
3KataPengantar
Dasar-dasarPenggunaanWiresharkPadapertemuanpertama,sayainginmenjelaskanfungsidarisoftware/perangkatlunakWireshark.Wiresharkmerupakanperangkatlunakyangspesifikuntukmelakukananalisapaketdatapadajaringansecararealtimedanmenampilkanhasilanalisapaketdatatersebutdalamformatyangdipahamiolehpengguna.Wiresharkdapatmelakukanpaketfiltering,paketcolorcoding,danfitur-fiturlainyangdapatmengizinkanuntukmelihatdetailnetworktrafficdaninspeksipaketdatasecaraindividu.
ToolsUntukmengunduhsoftwarewireshark,Andadapatmengunjungialamatwebsiteofficialwiresharkdihttp://www.wireshark.org/download.html.WiresharkdapatdigunakanpadasistemoperasiWindows,MacOSX,danLinux.
KapanMenggunakanWiresharkAdabanyakhalyangdilakukanmenggunakanwireshark.Berikutinimerupakancontohkasusyangmungkindibutuhkantoolswireshark:
1. Melakukantroubleshootpermasalahanjaringan2. Melakukanpengujianmasalahkeamanan3. Melakukandebuggingimplementasiprotokol4. BelajarprotokoljaringanWiresharkinidapatkitasebutsebagaitoolsyangpowerfull,karenadenganmenggunakantoolsini,kitabisasajadapatmenggunakannyauntukmencuriinformasiyangsensitifpadajaringan,sepertipassword,cookie,danlainsebagainya.
FiturWiresharkmempunyaifituryanglengkap,diantaranyaadalah:
1. Multiplatform-Dapatdigunakanuntukbeberapaplatformsistemoperasi(Unix,Mac,Windows,danLinux)
2. Dapatmelakukancapturepaketdatajaringansecararealtime3. Dapatmenampilkaninformasiprotokoljaringandaripaketdatasecaralengkap
HandoutKeamananKomputer
4Bab1-Dasar-dasarPenggunaanWireshark
4. Paketdatadapatdisimpanmenjadifiledannantinyadapatdibukakembaliuntukanalisislebihlanjut
5. Filteringpaketdatajaringan6. Pencarianpaketdatadengankriteriaspesifik7. Pewarnaantampilanpaketdatauntukmempermudahanalisapaketdata8. MenampilkandatastatistikUntukmelakukancapturepaketdatayangkeluarataupunmasukpadajaringan,wiresharkmemerlukanperangkatfisikNIC(NetworkInterfaceCard).
ProtokolWiresharkdapatmelakukananalisisterhadapbeberapaprotokolpaketdatajaringan.Sampaiwiresharkversi1.12.6,sudahmendukung1482protokol,sepertiterlihatpadagambardibawahini:
Gambar1.1ProtokolYangDisupportWireshark
Padagambar1.1diatas,wiresharksudahmendukung1482protokol,tentunyajumlahprotokolyangdidukungwiresharkakanbertambahlagipadatiapversinya.
PengawasanDataSecaraRealTime
HandoutKeamananKomputer
5Bab1-Dasar-dasarPenggunaanWireshark
Wiresharkdapatmenganalisispaketdatasecararealtime.Artinya,aplikasiwiresharkakanmengawasisemuapaketdatayangkeluarmasukmelaluiantarmukayangtelahditentukandanselanjutnyaakanmenampilkanhasilpaketdatanya.Contohaplikasiwiresharkyangsedangmelakukanpengawasandapatdilihatpadagambar2,berikutini:
Gambar1.2TampilanDataRealTimeWireshark
Jikakomputerkitaterhubungdenganjaringankecepatantinggidanpadakomputersedangdijalankanbanyakaplikasiberbasisjaringan,aplikasiwiresharkakanmenampilkanbanyaksekalipaketdata.
TugasPraktikumSilakanAndalakukanujicobapenggunaanWiresharkuntukmelakukancapturepaketdata,kemudiankumpulkanhasilnyaberupadokumentasigambar/screenshotdandisertaiketerangannya.
HandoutKeamananKomputer
6Bab1-Dasar-dasarPenggunaanWireshark
TutorialMenggunakanWiresharkPadabagiankeduaini,sayainginmelakukandokumentasibeberapafungsipenggunaanwiresharkuntukmelakukansniffing,baikpadajaringankabelmaupunnirkabel.
MelakukanSniffingApabilasudahselesaimenginstallwireshark,kitadapatlangsungmelakukansniffingterhadappaketdatayangkitacapturedariwireshark.Caracapturedatapakaiwiresharktausemuakan?hehehe.Untukmelakukansniffing,pastikankomputeryangakandigunakansudahterhubungdenganjaringanyangakandi-sniff.Caranepiyeom?Berikutinimerupakanlangkah-langkahuntukmelakukansniffingdenganwireshark.
1. Jalankanwireshark
2. KlikmenucapturedanpilihInterfacesepertiyangterlihatpadagambarberikut.
Gambar2.1-MenuCaptureWireshark
3. Setelahmenuinterfacediklik,makaakanadakotakdialogwiresharksepertipadagambar2.2dibawahini:
Gambar2.2-InterfaceAktif
4. Kotakdialogpadagambar2.2diperolehdaridaftarantarmukajaringanyangdimiliki.Kolompaketakanbernilaisuatubilangantertentu,haltersebutmenunjukkanadanyapaketdatayangmasuk
5. Pilihinterfaceyangmempunyaipaketjaringanyangmasukatauaktif
HandoutKeamananKomputer
7Bab2-TutorialMenggunakanWireshark
6. Selainitu,kitajugadapatmelakukankonfigurasidenganmengkliktomboloptionspadakotakdialogwireshark:CaptureInterfaces
7. Setelahmengkliktomboloptions,makaakantampilsepertigambar2.3berikutini:
Gambar2.3-CaptureOptions
8. Pastikanpadamenucaptureoptionstersebut,bagian"Capturepacketsinpromiscuousmode"sudahtercentang.
9. KitajugadapatmenentukanfiledanlokasinyadengankliktombolbrowsepadabagianCaptureFile.
10. KlikStart
11. Wiresharkakanmelakukansniffingsesuaidengankonfigurasiyangdilakukan
12. Prosespengambilanpaketdatainiakanberlangsungsecararealtime
13. Semakinlamamelakukansniffing,semakinbesarfileyangakandihasilkan
HandoutKeamananKomputer
8Bab2-TutorialMenggunakanWireshark
14. Contohprosessniffingpadawiresharksecararealtimesepertipadagambar2.4berikutini:
Gambar2.4-SniffingDenganWireshark
15. Untukmenghentikanprosessniffing,klikiconadapterjaringanyangberwarnamerah,letaknyanomorempatdarikiri.
16. Untukmenyimpanpaketdatayangsudahdicapturesecararealtime,klikmenuFile->SaveAs
17. Tulisnamafilenya,kemudiankliktombolsaveuntukmenyimpanfilehasilcapture.Filenyaseharusnyaberekstensi.pcap
HakAksesSniffingPadabeberapakasussniffingdengansistemoperasikadangdibatasi.Olehkarenaitu,untukmelakukansniffingdenganwiresharkalangkahbaiknyadijalankandenganmemperolehpermissionleveltertinggi(root)atauadministrator.Apabilapadalinuxcukupdenganmemanggilperintahberikut:
sudowireshark
SementarapadaOSwindows,dapatmelakukandengancaraklikkananprogramwiresharkkemudianpilih"runasadministrator"
TugasPraktikum
HandoutKeamananKomputer
9Bab2-TutorialMenggunakanWireshark
1. Setelahdapatmenggunakanwiresharkdanpahamtentangfungsi-fungsidasarwireshark,silakanAndacapturepaketdatakemudiansimpandalambentukfile.pcap,masing-masingpaketdataharusberbedadaripunyatemennya.
2. Buatlahlaporandokumentasidarihasilpaketdatayangdisimpantersebut,danberikanketeranganapayangdapatAndapahamidaripaketdataitu.
HandoutKeamananKomputer
10Bab2-TutorialMenggunakanWireshark
SniffingPadaJaringanKabeldanNirkabelUntukmelakukansniffingdalamwaktuyanglama,penggunaanguiwiresharktidakdirekomendasikankarenaterlalubanyakpenggunaansumberdaya.Sebagaipenggantinya,Andadapatmenggunakansoftwaretsharkdandumpcap.ApabilaAndamenggunakanlinuxsepertibacktrackataukalilinux,softwaretersebutsudahtersedia,jaditidakperlumelakukaninstalasi.
MelakukanSniffingPadaJaringanKabel
TeknikTappingMerupakanteknikyangdigunakanuntukmelakukansniffingsecaraefektifsehinggadataatauinformasipaketdatayangdiperolehhanyasesuaidenganyangdiinginkan.Tentunyadengantekniktappinginiakanmeminimalisirpaketdatayangluasdanbanyak.Berikutiniterdapatilustrasijaringankomputersederhana:
Gambar3.1-SkenarioSniffing
HandoutKeamananKomputer
11Bab3-SniffingPadaJaringanKabeldanNirkabel
Padagambar3.1terlihatbahwaadatigaorangpenggunayaitubob,alicedaneve.Skenariojaringanyangterdapatpadagambar3.1merupakangambaranbobdanaliceyangsedangberkomunikasimelaluijaringaninternet.Evemerupakanpihakketigayangtidakdiketahuiolehbobmaupunalice.EvemelakukansniffingkeNICmilikbob,sehinggapaketdatayangdikirimolehbobdapatterbacaolehevemenggunakanwireshark.
Berdasarkangambartersebut,makapenempatanmesinyangnantinyaakandi-sniffingmerupakanpermasalahanutama,karenamesinyangakandi-sniffingharusmempunyaipaketdatamasukdankeluaragardapatdipastikannantinyamemperolehdatayangdapatdianalisa.
TappingPadaHubMelakukantappingpadahubmerupakanlangkahyangtepatkarenajikalaukitamemasangperalatankomputerpadasuatuhub,kitaakanmemperolehseluruhinformasidarijaringanyangada.Halinidikarenakansifatdarihubtersebut.Saatinihubsudahjarangsekalidijualkarenamemilikibeberapaketerbatasan,terutamaseringterjadinyakegagalanpaketakibattabrakan(collision).Apabilaandamendapatiterdapathub,makahubadalahperalatanyangmudahsekaliuntukdi-sniffing.
TappingPadaSwitchSebagaipenggantidarihubadalahswitch.Switchmenyediakanfituryanglebihbaikdibandingkandenganhub.Komunikasiyangdisediakansudahfullduplex,artinyaprosespengirimandanpenerimaandatabisaterjadisecarabersamaan.ApabilaAndainginmelakukantappingpadaswitch,andaharusmendapatkantransmisipaketyangmengarahkemesin/komputerkita.Inilahkejelekanmelakukansniffingmelaluisebuahswitch.Agardapatmenjangkaukejaringanyanglebihluas,biasanyakitadapatmelakukanprosesseperti:
1. PortMirroring2. HubbingOut3. ARPCachePoisoning
TappingPadaRouterRoutermerupakanperalatanyangdapatmenghubungkanjaringanLANyangsatudenganyanglainnya.Tappingpadaroutersebenarnyaakanmengalamihalyangsamasepertipadaswitch.Padasebuahkasus,misalnyauntukdebuggingnetwork,routerdapatdikonfigurasi
HandoutKeamananKomputer
12Bab3-SniffingPadaJaringanKabeldanNirkabel
sedemikianrupahinggapaketdapatdiawasi.Halyangsulitadalahketikaadabanyakrouteryangbekerja.Kadangkitadapatmenangkappaketyangmasuk,tetapikadangtidakmemperolehinformasiresponsnya.
MelakukanSniffingPadaJaringanNirkabelMelakukansniffingpadajaringannirkabelmemangkadangmengalamikendala.Halinibiasanyaterkaitdenganmasalahdriverdansistemoperasiyangmemproteksinya.
ProblematikadiSistemOperasiWindowsPadasistemoperasiwindows,aplikasiwiresharktidakdapatmendeteksidriverWirelesskarenalibraryWinpcaptidakdapatmendeteksinya.Sekalipunbisa,driverinidikenaldengannamamicrosoft.Kalaudijalankan,nantinyahanyamemperolehpaketdiatasprotokolWLAN(802.11).PaketradiotapdanIEEE802.11tidakterdeteksidenganbaik.Alternatiflain,dapatmenggunakantoolsdarimicrosoftyangbernamaMicrosoftNetworkMonitor
ProblematikadiSistemOperasiLinuxUbuntuSecaradefault,adapterWifipadalinux,terutamaUbuntu,bekerjapadamodenormal,artinyatidakpadakondisimonitor.Olehkarenaitu,harusdiaktifkanterlebihdahuludengansintaksebagaiberikut:
sudoifconfigwlan0down
sudoiwconfigwlan0modemonitor
Nilaiwlan0adalahnamaadapterWifiyangdimiliki.Sebelummelakukanini,pastikanWifitidakterhubungdenganaccesspointWifitertentu.Kadangketikamelakukaneksekusi,kitamengalamierror.HalinimungkinkarenaperangkatkerasadapterWifiyangdimilikiataudrivernyatidakmendukung.Jikaberhasil,lakukanpengujiansepertiberikut:
iwconfigwlan0
Apabilaberhasil,kitaakanmemperolehrespons.Disiniterlihatbahwamodewlan0adalahMonitor.Artinya,kitadapatmelakukanpengawasanprotokolIEEE802.11.
TugasPraktikum
HandoutKeamananKomputer
13Bab3-SniffingPadaJaringanKabeldanNirkabel
SilakanAndamelakukansniffingterhadapalamatIPAddressdiPCmiliktemennyayangterdapatpadalaboratorium.Simpanlahhasilsniffingtersebut,kemudianlakukananalisaapasajadata-data"unik"yangAndatemukandipaketdatatersebut.
HandoutKeamananKomputer
14Bab3-SniffingPadaJaringanKabeldanNirkabel
BekerjaDenganDataHasilTangkapanDatahasiltangkapandariWiresharkdapatdimanfaatkanuntukkepentingananalisadatalebihlanjut.Umumnyadatahasiltangkapanmempunyaiekstensifile(.pcap),namunWiresharkmendukungbanyakformatfilesehinggaapabilamenemukanfilepaketdataselainberformat.pcaptetapsajabisadibukadenganwireshark.
MembukaFileHasilTangkapanUntukmembukafilepaketdatahasiltangkapandilakukandengancaramembukamenuFile->Open.Kemudianakantersajidata-datahasiltangkapan.
PemfilteranPaketData
Kenapaperludifilter?
Bayangkansajaapabiladalamsatukomputeryangmenjalankanbrowserdenganbanyaktabdanalamatwebyangberbeda-beda.Kemudian,jugasambilmembuatEmail,Chatting,Skype,Facebook,Twitter,dll.Lalumenjalankanaplikasiwireshark,apayangterjadi?Semuapaketdataakanmasuksemua.
Sepertiyangsudahdijelaskan,paket-paketdatajaringandenganberbagaiprotokolnyakadangmenyulitkanketikaakanmelakukananalisapaketatauprotokoltertentu.Atasdasarini,makadibutuhkanteknikfilterdata.
FilterPaketDataSecaraLangsung
Apabilainginmemfilterpaketdatasecaralangsung,Andadapatmelakukannyaketikamembukaantarmukayangakandigunakan.
PilihInterface->Options->CaptureFilter,pilihsalahsatufilterdibagiankotakdaftarCaptureFilter,misalnyaHTTPTCPport(80).ApabilasudahkliktombolOKkemudianklikStartuntukmemulaiprosessniffing.
TugasPraktikum
HandoutKeamananKomputer
15Bab4-BekerjaDenganDataHasilTangkapan
Berdasarkandatahasiltangkapan,silakanAndalakukanfilterpaketberdasarkanparameterfiltertertentusepertitcp.ip,port,ip.src,ip.dstdanlainsebagainya.Sehinggamahasiswadapatmemahamiapafungsidarifilteringpaketdata.
HandoutKeamananKomputer
16Bab4-BekerjaDenganDataHasilTangkapan
Bab5PingdanPortScanning
5.1PingPingadalahsalahsatumekanismeyangdigunakanuntukmengetahuiapakahsuatuhostdenganiptertentudapatdiaksesatausedangaktifpadajaringantertentu.PingdikirimkanmenggunakanprotokolICMP(InternetControlMessageProtocol).AlamatIPyangmeresponpermintaandariPingtadiakanmemberikanduainformasiyangberhargayaitu:
1. Apabilaalamatiptujuanmerespon,kitajaditaubahwamesin/hostdenganalamatiptersebutadalahaktifdanresponsif
2. Pingumumnyaakanmemberikanketeranganseberapalamakonektifitasantarapenggunayangmengirimkanpingkepadatujuan.Halinidapatdilihatdaricatatanwaktuyangadapadasaatpenggunamengirimkanpaketping.
Padapraktikumkaliini,sayainginmengembangkanaplikasiyangbertujuanuntukmelakukanpingterhadapIPAddresstertentuuntukmelakukanscanningterhadapjaringanlokalagarmengetahuieksistensidarialamatIPyangtersedia/aktif.SayamenggunakanlibrarywxPythonuntukmembangunaplikasiberbasisGUI(GraphicalUserInterface).UntukpenggunaanPing,Andadapatmenggunakanlibraryyangada,dinamakanPython-Ping.LibraryPython-PingmerupakanmodulyangmenanganioperasidetaildarirequestICMP.
Berikutinimerupakankodeprogramping.py
importwxversion
importwx
importsys
importping
importsocket
fromtimeimportgmtime,strftime
defpingScan(event):
ifhostEnd.GetValue()<hostStart.GetValue():
dlg=wx.MessageDialog(mainWin,"InvalidLocalHostSelection","Confirm",wx.OK|wx.ICON_EXCLAMATION)
result=dlg.ShowModal()
dlg.Destroy()
return
mainWin.StatusBar.SetStatusText('ExecutingPingSweep....PleaseWait')
utcStart=gmtime()
utc=strftime("%a,%d%b%Y%X+0000",utcStart)
results.AppendText("\n\nPingSweepStarted:"+utc+"\n\n")
HandoutKeamananKomputer
17Bab5-PingdanPortScanning
baseIP=str(ipaRange.GetValue())+'.'+str(ipbRange.GetValue())+'.'+str(ipcRange.GetValue())+'.'
ipRange=[]
foriinrange(hostStart.GetValue(),(hostEnd.GetValue()+1)):
ipRange.append(baseIP+str(i))
foripAddressinipRange:
try:
mainWin.StatusBar.SetStatusText('PingingIP:'+ipAddress)
delay=ping.do_one(ipAddress,timeout=2)
results.AppendText(ipAddress+'\t')
ifdelay!=None:
results.AppendText('ResponseSuccess')
results.AppendText('ResponseTime:'+str(delay)+'Seconds')
results.AppendText("\n")
else:
results.AppendText('ResponseTimeout')
results.AppendText("\n")
exceptsocket.error,e:
results.AppendText(ipAddress)
results.AppendText('ResponseFailed:')
results.AppendText(e.message)
results.AppendText("\n")
utcEnd=gmtime()
utc=strftime("%a,%d%b%Y%X+0000",utcEnd)
results.AppendText("\nPingSweepEnded:"+utc+"\n\n")
mainWin.StatusBar.SetStatusText('')
return
defprogramExit(event):
sys.exit()
app=wx.App()
mainWin=wx.Frame(None,title="SimplePing(ICMP)Sweeper1.0",size=(1000,600))
panelAction=wx.Panel(mainWin)
scanButton=wx.Button(panelAction,label='Scan')
scanButton.Bind(wx.EVT_BUTTON,pingScan)
exitButton=wx.Button(panelAction,label='Exit')
exitButton.Bind(wx.EVT_BUTTON,programExit)
Results=wx.TextCtrl(panelAction,style=wx.TE_MULTILINE|wx.HSCROLL)
ipaRange=wx.SpinCtrl(panelAction,-1,'')
ipaRange.SetRange(0,255)
ipaRange.SetValue(127)
HandoutKeamananKomputer
18Bab5-PingdanPortScanning
ipbRange=wx.SpinCtrl(panelAction,-1,'')
ipbRange.SetRange(0,255)
ipbRange.SetValue(0)
ipcRange=wx.SpinCtrl(panelAction,-1,'')
ipcRange.SetRange(0,255)
ipcRange.SetValue(0)
ipLabel=wx.StaticText(panelAction,label="IPBase:")
hostStart=wx.SpinCtrl(panelAction,-1,'')
hostStart.SetRange(0,255)
hostStart.SetValue(1)
hostEnd=wx.SpinCtrl(panelAction,-1,'')
hostEnd.SetRange(0,255)
hostEnd.SetValue(10)
HostStartLabel=wx.StaticText(panelAction,label="HostStart:")
HostEndLabel=wx.StaticText(panelAction,label="HostEnd:")
actionBox=wx.BoxSizer()
actionBox.Add(scanButton,proportion=1,flag=wx.LEFT,border=5)
actionBox.Add(exitButton,proportion=0,flag=wx.LEFT,border=5)
actionBox.Add(ipLabel,proportion=0,flag=wx.LEFT,border=5)
actionBox.Add(ipaRange,proportion=0,flag=wx.LEFT,border=5)
actionBox.Add(ipbRange,proportion=0,flag=wx.LEFT,border=5)
actionBox.Add(ipcRange,proportion=0,flag=wx.LEFT,border=5)
actionBox.Add(HostStartLabel,proportion=0,flag=wx.LEFT|wx.CENTER,border=5)
actionBox.Add(hostStart,proportion=0,flag=wx.LEFT,border=5)
actionBox.Add(HostEndLabel,proportion=0,flag=wx.LEFT|wx.CENTER,border=5)
actionBox.Add(hostEnd,proportion=0,flag=wx.LEFT,border=5)
vertBox=wx.BoxSizer(wx.VERTICAL)
vertBox.Add(actionBox,proportion=0,flag=wx.EXPAND|wx.ALL,border=5)
vertBox.Add(results,proportion=1,flag=wx.EXPAND|wx.LEFT|wx.BOTTOM|wx.RIGHT,border=5)
panelAction.SetSizer(vertBox)
mainWin.Show()
app.MainLoop()
TugasPraktikum
1. Berdasarkankodeprogramyangsudahdibuat,silakanAndapakaikodeprogramtersebutuntukmelakukanpingterhadapjaringandiluarkampus.Studikasusnyabolehdimanasajakecualidiwilayahkampusunmuhjembertidakdiperbolehkankarenasudahdiujicobadipraktikumnya.
2. Berikanscreenshotdandisertaipenjelasanyangbaikdankata-katayangmudah
HandoutKeamananKomputer
19Bab5-PingdanPortScanning
dimengerti,kemudianbuatlahlaporandalambentukPDF,dikumpulkanpadapertemuanminggudepan.
5.2PortScanningPortScanningmerupakancarayangdigunakanuntukmemeriksaportpadasuatuhost,apakahportyangterbukaadalahportyangmemangdigunakanatauportyangtidakdiketahuikegunaannya.
Beberapaportyangsudahdikenaldanseringdigunakanyaitu:
Tabel5.1ListNomorPortdanNamaProtocol
NomorPort Protocol
21 FTP(FileTransferProtocol)
22 SSH(SecureShell)
23 Telnet
25 SMTP(SimpleMailTransferProtocol
53 DNS(DomainNameSystem)
80 HTTP(HypertextTransferProtocol
110 POP3(PostOfficeProtocol)
119 NNTP(NetworkNewsTransferProtocol)
143 IMAP(InternetMessageAccessProtocol)
161 SNMP(SimpleNetworkManagementProtocol)
194 IRC(InternetRelayChat)
443 HTTPS(HTTPSecure)
465 SMTPS(SMTPSecure)
8443 RouterRemoteAccess
Danlainsebagainya
Berikutiniterdapatkodeprogramuntukmelakukanportscanningberbasiscommandline:
NamaFile:portscan.py
HandoutKeamananKomputer
20Bab5-PingdanPortScanning
importsocket
importsubprocess
importsys
fromdatetimeimportdatetime
subprocess.call('clear',shell=True)
remoteServer=raw_input("Masukkanalamathostuntukprosesscanning:")
remoteServerIP=socket.gethostbyname(remoteServer)
print"-"*60
print"Tunggu......ProsesScanningRemoteHost",remoteServerIP
print"-"*60
t1=datetime.now()
try:
forportinrange(1,1025):
sock=socket.socket(socket.AF_INET,socket.SOCK_STREAM)
result=sock.connect_ex((remoteServerIP,port))
ifresult==0:
print"Port{}:\tTerbuka".format(port)
sock.close()
exceptKeyboardInterrupt:
print"AndatekanCtrl+C"
sys.exit()
exceptsocket.gaierror:
print"Hostnametidakdapatdiperiksa.Programakankeluar...."
sys.exit()
exceptsocket.error:
print"Tidakdapatterhubungkeserver"
sys.exit()
t2=datetime.now()
total=t2-t1
print"ProsesScanningselesai.."
print"Waktuyangdihabiskanuntukmelakukanscanningadalah:",total
Outputnyaadalahsebagaiberikut:
HandoutKeamananKomputer
21Bab5-PingdanPortScanning
Gambar5.1PortScanningBerbasisCommandLine
Padagambar5.1tersebut,terdapatketeranganporttertentuyangterbukadarisuatualamatip.Apabilaportyangterbukasudahdikenali,makaalamatiptersebuttidakadaaksesyangmencurigakan.Sedangkanapabilaportyangterbukatidakdikenali,makasilakandiperiksadenganbaikpenggunaanaksesdatanya.
BerikutiniterdapatkodeprogramlainnyauntukmelakukanportscanningberbasisGUI:
NamaFile:guiportscan.py
fromsocketimport*
fromTkinterimport*
defjalankan():
iptarget=field.get()
foriinrange(20,1025):
s=socket(AF_INET,SOCK_STREAM)
result=s.connect_ex((iptarget,i))
ifresult==0:
print'Port%d:Terbuka'%(i,)
s.close()
root=Tk()
root.title('SimplePortScanner')
lab=Label(text='MasukkanAlamatIPuntukdiscan:')
lab.pack(side=TOP,padx=10,pady=10)
field=Entry(root,width=10)
field.pack(side=TOP,padx=10,pady=10)
Button(root,text='Keluar',command=root.quit).pack(side=RIGHT)
Button(root,text='Scan',command=jalankan).pack(side=RIGHT)
root.mainloop()
Outputdariprogramdiatasadalah:
HandoutKeamananKomputer
22Bab5-PingdanPortScanning
Gambar5.2PortScanningBerbasisGUI
Padagambar5.2,tampilanguinyatidaktercapture.Tampilanguihanyadigunakanuntukmemasukkanalamatipyangakandiperiksaportnyamulaidariport20sampai1025.Programinisedikitberatdalammelakukanportscanningkarenaakanmemeriksaportyangterbukasatupersatu,apabilajaringanmaupunkomputernyalambat,makaakanberpengaruhdenganwaktupenyelesaianportscanning.
TugasPraktikumBerdasarkankodeprogramportscanningtersebut.Setiapmahasiswasilakanmencobamelakukanportscanningterhadapalamatiptertentu(bisajugaalamatipkomputeranda)sehinggadapatmengetahuiportapasajayangterbuka.Kumpulkandalambentuksoftcopyyangterdiridarireviewprogramdantampilanoutputprogram.
HandoutKeamananKomputer
23Bab5-PingdanPortScanning
PengenalanPythonPythonmerupakanbahasapemrogramanyangpopulerkhususnyapadabidangkeamanankomputer.Padamodulini,beberapaeksperimendalampembuatanprogramuntukmendukungproseskeamanankomputer,ditulismenggunakanpythonversi2.Apabilatidakinginrumit,makapakailahsistemoperasilinuxvarianterbaru,misalnya:ubuntu,kalilinux,danlainsebagainya.Bahasapemrogramanpythonbesertamodul-modulnyasudahterinstallotomatisdisistemoperasilinux.
PengenalanNetworkSocketNetworksocketmerupakanalamatyangmengandungdataalamatipaddressdannomorport.Singkatnya,socketmerupakancarayangmudahuntukberkomunikasidengankomputerlain.Olehkarenaitu,socketmerupakansuatuprosesyangdapatberkomunikasidenganprosesyanglainmelaluijaringan.
Padabahasapemrogramanpython,untukmembuatsocketmenggunakanfungsisocket.socket()yangtersediapadamodulsocket.Sintaksstandardarifungsisocketadalah:
s=socket.socket(socket_family,socket_type,protocol=0)
Deskripsiparameterdarifungsisocketdiatasadalahsebagaiberikut:
socket_family:socket.AF_INET,PF_PACKET
AF_INETmerupakanalamatuntukIPv4.PF_PACKETmerupakandevicedriverlayer.Umumnyamerupakanlibrarypcapyangdigunakanpadalinux.
CaraKerjaMethodSocketServerDalamkonseparsitekturclient-server,terdapatdualayananyangberbedadarimasing-masingperangkat.Serverbertugassecaraterpusatuntukmemberikanservice/layananyangdimintaolehclient.Sedangkanclientbertugasuntukmengirimkanpermintaandanmenerimalayanandariserver.
Beberapametodepadafungsisocketdipython,yaitu:
socket.bind(address):Methodinidigunakanuntukmenghubungkanalamatipdengannomorportkesocket.Socketharusdibukadahulusebelumterhubungdenganalamattersebut.
HandoutKeamananKomputer
24Bab6-PengenalanPython
socket.listen(q):MethodiniakanmemulaifasemendengarkankoneksiTCP.Argumenqmendefinisikanjumlahkoneksimaksimumyangdapatditanganiserver.socket.accept():Penggunaanmethodiniadalahuntukmenerimakoneksiyangdikirimdariclient.Sebelummenggunakanmethodini,methodsocket.bind(address)dansocket.listen(q)harusdigunakanterlebihdahulu.Methodsocket.accept()akanmengembalikanduanilaiyaitu:client_socketdanaddress,dimanaclient_socketadalahobjeksocketbaruyangdigunakanuntukmengirimdanmenerimadataselamaterhubung,danaddressadalahalamatclient.
MethodSocketClientMethodyangterdapatuntukfungsidisocketclientadalah:
socket.connect(address):Methodiniuntukmenghubungkanclientkeserver.Argumenaddressadalahalamatservernya.
MethodSocketBeberapafungsiyangterdapatpadamethodsocketadalahsebagaiberikut:
socket.recv(bufsize):MethodinimenerimapesanTCPdarisocket.Argumenbufsizemendefinisikanjumlahdatamaksimumyangdapatditerimadalamsuatuwaktu.socket.recvfrom(bufsize):Methodinimenerimadatadarisocket.Methodiniakanmengembalikansepasangnilai,nilaipertamaakanmemberikaninformasipenerimaandata,nilaikeduaakanmemberikanalamatsocketuntukmelakukanpengirimandatasocket.recv_into(buffer):Methodinimenerimadatakurangdariatausamadenganargumenbuffer.Parameterbufferdibuatolehmethodbytearray()socket.recvfrom_into(buffer):Methodinimempunyaidatadarisocketdanmengirimkanmelaluibuffer.Nilaikembalianadalahnbytesdanaddress,dimananbytesadalahjumlahbytesyangditerima,danaddressadalahalamatsocketpadasaatmengirimdata.socket.send(bytes):Methodinidigunakanuntukmengirimkandatakesocket.Sebelummengirimdata,pastikanbahwasocketsudahterhubungkemesin.Methodiniakanmengembalikanjumlahbyteyangterkirim.socket.sendto(data,address):Methodinidigunakanuntukmengirimdatakesocket.Secaraumum,methodinimenggunakanUDP.UDPmerupakanprotocolyangbersifatconnectionless(tidakmemperdulikanapakahpaketsudahterkirimataubelumyangpentingsudahdikirimkanolehsipengirim(server/client)).socket.sendall(data):Methodiniakanmengirimkansemuadatakesocket
Berikutiniterdapatkodeprogramclientserversederhana:
HandoutKeamananKomputer
25Bab6-PengenalanPython
Namafile:serverku.py
importsocket
host="192.168.0.1"
port=12345
s=socket.socket(socket.AF_INET,socket.SOCK_STREAM)
s.bind((host,port))
s.listen(2)
conn,addr=s.accept()
printaddr,"SelamatAndaSudahTerhubungdenganServerku.py"
conn.send("TerimaKasihkarenatelahberkomunikasidenganServerku.py")
conn.close()
Namafile:clientku.py
importsocket
s=socket.socket(socket.AF_INET,socket.SOCK_STREAM)
host="192.168.0.1"
port=12345
s.connect((host,port))
prints.recv(1024)
s.send("HaiServerku.py,Clientku.pyinginberkomunikasi")
s.close()
Outputdarikodeprogramdiatasadalah:
Gambar6.1OutputServerku.py
Gambar6.2OutputClientku.py
Metodekonektivitasclientserverdiatashanyauntukmenanganisatupermintaanyangdikirimolehclient.Apabilamenginginkanserversocketmenanganilebihdarisatuservice,makatinggaltambahkanloopingsetelahstatementlisten.
Berikutinikodeprogramlengkapnya:
Namafile:serverku2.py
HandoutKeamananKomputer
26Bab6-PengenalanPython
importsocket
host="0.0.0.0"
port=12345
s=socket.socket(socket.AF_INET,socket.SOCK_STREAM)
s.bind((host,port))
s.listen(2)
whileTrue:
conn,addr=s.accept()
printaddr,"NowConnected"
conn.send("Thankyouforconnecting")
conn.close()
Outputdariprogramdiatasadalahsebagaiberikut:
Gambar6.3Outputserverku2.pydanclientku.pyketikadijalankan
Kodeprogramclientserversederhanasudahselesai.Berikutiniterdapatkodeprogramterakhiruntukmengetahuisecaradetailalamatipdanportbesertatipenya.
Namafile:detailsocket.py
HandoutKeamananKomputer
27Bab6-PengenalanPython
importsocket
defget_protnumber(prefix):
returndict((getattr(socket,a),a)
foraindir(socket)
ifa.startswith(prefix))
proto_fam=get_protnumber('AF_')
types=get_protnumber('SOCK_')
protocols=get_protnumber('IPPROTO_')
forresinsocket.getaddrinfo('www.unmuhjember.ac.id','http'):
family,socktype,proto,canonname,sockaddr=res
print'Family:',proto_fam[family]
print'Type:',types[socktype]
print'Protocol:',protocols[proto]
print'Canonicalname:',canonname
print'Socketaddress:',sockaddr
OutputProgramtersebutadalah:
Gambar6.4DetailSocket
TugasPraktikumCobalahkodeprogramdiatas,kemudianlakukanpercobaandenganalamatIPyangberbedadanberikanketerangansertapenjelasanmaksuddarikodeprogramtersebut.
HandoutKeamananKomputer
28Bab6-PengenalanPython
SniffingMenggunakanPythonSniffingmerupakanprosesuntukmelakukanmonitoringdanmeng"capture"semuapaketdatayangmelewatijaringanmenggunakansoftware/aplikasimaupunperangkatkeras(hardware).Umumnyasniffingdilakukanolehseorangnetworkadministratoruntukmengamatipenggunaanjaringan,namunkenyataannyasaatinibegitubanyakaplikasiyangmudahdiperoleh,makabanyakjugapenggunayangmelakukanisengterhadappenggunaanjaringan.
Metodedalammelakukansniffingterdiridariduamacam,yaitu:
AktifSniffingAktifsniffingmerupakantindakanyangdilakukanpadajaringanberbasisswitch.Switchtentunyalebihpintardaripadahub,secarafungsinya.Seranganinidilakukandengancaramengirimkanpacketkekomputertargetsetelahmemeriksatablemacaddress.TeknikaktifsniffingumumnyamenggunakancaraARPSpoofing.
PasifSniffingPasifsniffingmerupakantindakansniffingyangdilakukandenganmelakukanmonitoringpaketdarijaringanyangberbasishub.Denganmenempatkansoftwarepacketsnifferpadajaringanmenggunakanmetodepromiscuous,seorangattackerdapatmelakukancapturepaketdatadalamsubnetjaringantersebut.
ImplementasiNetworkSnifferMenggunakanPythonPadapython,untukmelakukannetworksniffingdapatmenggunakanmodulstruct.Beberapamethodyangterdapatpadamodulstructdiantaranya:
struct.pack(fmt,v1,v2,...):Methodiniakanmengembalikanstringyangmengandungnilaiv1,v2danlain-lain,sedangkanpaketyangditerimaakanmengacupadaformatyangdiberikan.struct.unpack(fmt,string):Methodiniakanmembongkarisistringsesuaidenganformatyangdiberikan.
Contohpenggunaankodeprogramnya:
Namafile:struct1.py
HandoutKeamananKomputer
29Bab7-SniffingMenggunakanPython
importstruct
arsip=struct.pack('hhl',1,2,3)
print(arsip)
k=struct.unpack('hhl',arsip)
printk
Outputprogramtersebut:
Gambar7.1ContohPenggunaanModulStruct
Kodeprogramtersebutmenggunakanmethodpackdanunpack,sehinggakalaudiimplementasikanpadakonseppemrogramansocket,hasilnyaadalahsebagaiberikut:
Namafile:structt.pysebagaiserver
importsocket
importstruct
host="0.0.0.0"
port=12347
s=socket.socket(socket.AF_INET,socket.SOCK_STREAM)
s.bind((host,port))
s.listen(1)
conn,addr=s.accept()
print"Menerimakoneksidariip:",addr
arsip=struct.pack('hhl',1,2,3)
conn.send(arsip)
conn.close()
Namafile:unstructt.pysebagaiclient
HandoutKeamananKomputer
30Bab7-SniffingMenggunakanPython
importsocket
importstruct
s=socket.socket(socket.AF_INET,socket.SOCK_STREAM)
host="0.0.0.0"
port=12347
s.connect((host,port))
msg=s.recv(1024)
printmsg
printstruct.unpack('hhl',msg)
s.close()
Outputkodeprogramapabilakeduafiletersebutdijalankan:
Gambar7.2ImplementasiStructpadamethodpackdanunpack
NetworkSnifferPadaPythonUntukmengimplementasikansniffingpadapython,pertama-tamamasuklahkemodepromiscuouspadainterfacecardyangakandigunakan.Padacontohkaliini,sayamenggunakansistemoperasikalilinuxuntukmelakukansniffingmenggunakanpython.
Untukmelakukansettinginterfacecardagarmenjadimodepromiscuousmodeadalahsebagaiberikut:
HandoutKeamananKomputer
31Bab7-SniffingMenggunakanPython
Gambar7.3ModePromiscuousPadaSistemOperasiKaliLinux
Perintahnyaadalah:
HandoutKeamananKomputer
32Bab7-SniffingMenggunakanPython
root@kali:~#ifconfig
eth0Linkencap:EthernetHWaddr08:00:27:bf:ed:99
inet6addr:fe80::a00:27ff:febf:ed99/64Scope:Link
UPBROADCASTRUNNINGMULTICASTMTU:1500Metric:1
RXpackets:0errors:0dropped:0overruns:0frame:0
TXpackets:34errors:0dropped:0overruns:0carrier:0
collisions:0txqueuelen:1000
RXbytes:0(0.0B)TXbytes:6358(6.2KiB)
loLinkencap:LocalLoopback
inetaddr:127.0.0.1Mask:255.0.0.0
inet6addr:::1/128Scope:Host
UPLOOPBACKRUNNINGMTU:65536Metric:1
RXpackets:20errors:0dropped:0overruns:0frame:0
TXpackets:20errors:0dropped:0overruns:0carrier:0
collisions:0txqueuelen:0
RXbytes:1200(1.1KiB)TXbytes:1200(1.1KiB)
root@kali:~#ifconfigeth0promisc
root@kali:~#ifconfig
eth0Linkencap:EthernetHWaddr08:00:27:bf:ed:99
inet6addr:fe80::a00:27ff:febf:ed99/64Scope:Link
UPBROADCASTRUNNINGPROMISCMULTICASTMTU:1500Metric:1
RXpackets:0errors:0dropped:0overruns:0frame:0
TXpackets:34errors:0dropped:0overruns:0carrier:0
collisions:0txqueuelen:1000
RXbytes:0(0.0B)TXbytes:6358(6.2KiB)
loLinkencap:LocalLoopback
inetaddr:127.0.0.1Mask:255.0.0.0
inet6addr:::1/128Scope:Host
UPLOOPBACKRUNNINGMTU:65536Metric:1
RXpackets:20errors:0dropped:0overruns:0frame:0
TXpackets:20errors:0dropped:0overruns:0carrier:0
collisions:0txqueuelen:0
RXbytes:1200(1.1KiB)TXbytes:1200(1.1KiB)
root@kali:~#
SetelahmuncultulisanUPBROADCASTRUNNINGPROMISCMULTICASTmakaeth0siapdigunakanuntukmelakukansniffingterhadapkomputer.
Berikutiniterdapatkodeprogramsederhanauntukmelakukansniffing:
NamaFile:sniff.py
HandoutKeamananKomputer
33Bab7-SniffingMenggunakanPython
importsocket
importstruct
importbinascii
#pakesocket.PF_PACKETapabilamenggunakanlinux
s=socket.socket(socket.AF_INET,socket.SOCK_RAW,socket.ntohs(0x0800))
whileTrue:
pkt=s.recvfrom(2048)
ethhead=pkt[0][0:14]
eth=struct.unpack("!6s6s2s",ethhead)
print"--------EthernetFrame--------"
print"desinationmac",binascii.hexlify(eth[0])
print"Sourcemac",binascii.hexlify(eth[1])
binascii.hexlify(eth[2])
ipheader=pkt[0][14:34]
ip_hdr=struct.unpack("!12s4s4s",ipheader)
print"-----------IP------------------"
print"SourceIP",socket.inet_ntoa(ip_hdr[1])
print"DestinationIP",socket.inet_ntoa(ip_hdr[2])
print"---------TCP----------"
tcpheader=pkt[0][34:54]
tcp_hdr=struct.unpack("!HH9ss6s",tcpheader)
print"SourcePort",tcp_hdr[0]
print"Destinationport",tcp_hdr[1]
print"Flag",binascii.hexlify(tcp_hdr[3])
Outputprogramtersebutketikadijalankanmenggunakankalilinux:
HandoutKeamananKomputer
34Bab7-SniffingMenggunakanPython
Gambar7.4Outputsniff.py
Padagambar4.7,terlihatbahwapercobaandalammelakukansniffingmasihgagalkarenaalamatmacaddressbaiksumberdantujuanbelumdapatterbacamenggunakanbeberapamoduldipython.Inimurnikarenaprogrammerbelummahirmenguasaikonsepnetworkingdipython.
TugasPraktikumBerdasarkankodeprogramyangsudahdituliskan,silakanberikanketerangandanpenjelasan,maksuddarikodeprogramtersebut.Berikantampilanoutput!Tampilanharusberbedadenganmilikteman-temannya.
HandoutKeamananKomputer
35Bab7-SniffingMenggunakanPython
PengenalanAnalisaMalwareSeranganterhadapkeamanankomputermaupunsisteminformasiyangsedangpopulersaatiniyaitumelaluikodeprogramyangdinamakanMalware.Malwaremerupakansuatuperangkatlunakatausuatukodeprogramyangbertujuanuntukmasukkedalamsistemataujaringankomputeragardapatmengaksesdata-datapribadimiliktarget/korban.Padasaatini,sudahtersediaberbagaimacamsoftwareyangdapatdigunakanuntukmelindungikomputer/jaringankomputerdariseranganmalware,diantaranya:antivirus,firewall,ids,internetprotectiondanlain-lain.Namunkecanggihandarisoftwaretersebut,umumnyadapatdilewatimenggunakanteknik-tekniktertentusehinggasoftwaretersebuttidakdapatmendeteksiadanyaaktivitasmaliciousprogramyangsedangberjalan.
Adaduametodeuntukmelakukananalisaterhadapmalware,yaitu:
1. DynamicAnalysis:Merupakanmetodeyangdigunakanuntukmelakukananalisaterhadapmalwaredenganmengamatikinerjasistemyangdapatterlihatdariperilakusistemsebelummalwaredijalankandenganperilakusistemsetelahmalwaretersebutdijalankanpadasistemtersebut.MetodedynamicanalysisumumnyamenggunakansoftwarevirtualsepertiVirtualBox,VMWaredanlain-lain,sehinggaapabilamalwareyangdijalankantersebutternyatamerusaksistem,makasistemutamatidakmengalamikerusakanakibatmalwaretersebut.
2. StaticAnalysis:Merupakanmetodeyangdigunakanuntukmelakukananalisamalwaredengancaramengamatisecaralangsungkodesumber(sourcecode)malwaretersebut.Dalammengamatikodesumbermalware,terdapatteknikyangumumnyadigunakan,yaituReverseEngineering.
KlasifikasiMalwareBerikutiniterdapatbeberapacontohklasifikasimalware:
1. Virus:MerupakanMalwareyangdapatmelakukanreplikasidirinyasendiri.Umumnyadisebabkankarenainfeksifilepadakomputerakibatdaripenggunamelakukaneksekusifile"virus"padakomputer.
2. Worm:Merupakanmalwareyangdapatmelakukanpenyebarandarisatukomputerkekomputeryanglain.
3. Trojan:Aplikasiyangbersifatmalicious,yangdapatmenyebardengansendirinya.Trojanumumnyamelakukanpemalsuanterhadapprogramyangsah,namunkenyataannyamelakukanaktivitasberbahayadanterlarangpadakomputeryang
HandoutKeamananKomputer
36Bab8-PengenalanAnalisaMalware
terkena.4. Backdoor:Merupakanbagiandariperangkatlunakyangberjalanpadasistem,dan
dapatmembukajalurkomunikasidenganpihakluar,sehinggapenyerangyangmempunyaiaksesdenganbackdoortidakperlumelakukanautentikasiyangditerapkanolehsistem.
5. Bot:Merupakanprogramjahatyangumumnyabertujuanuntukmelakukanperintahotomatismelaluiaksesyangtidaksahdandikendalikandarikomputeryangterkenabottersebut.
6. RemoteAdministrationTool(RAT):Perangkatlunakyangmemungkinkanmelakukanaksesjarakjauhkekomputersehinggakomputer/sistemtersebutdapatdikendalikanseolah-olahsipenyerangmempunyaiaksesfisikkesistem/komputertersebut.
7. Downloader:Sejenistrojanyangdapatmendownloadfilelainnya,yangbiasanyaterdeteksisebagaimalwarelainnya.Downloadermembutuhkankoneksikeremotehostuntukmendownloadfilelainnyatersebut.
8. Dropper:Suatutrojanyangdapatmenghapusfilelain.9. Spyware:Suatuperangkatlunakyangdapatmengumpulkaninformasidandibagikan
kepadapihakketigatanpamelaluiizinkepemilikdata10. Adware:Perangkatlunakyangbertujuanuntukmenyebarkaniklan.Umumnyaini
terdapatpadasoftwaretertentusehingganantinyaketikamembukasoftwarelainnyaakanmenyarankanhalamansesuaidenganiklanyangada.
11. Ransomware:Jenismalwareyangmengenkripsifilepadakomputerkorban,kemudiansipenyerangharusmembayarkansejumlahuang/sesuatuuntukmembukafileyangdienkripsitersebut.
TeknikAnalisaMalwaredenganDynamicAnalysisSebelummelakukananalisadenganteknikdynamicanalysis,rekan-rekanmahasiswacobalahuntukmelakukansettingterhadapOSVirtualsebagaianalysislabvirtual,sehinggafilemalwareyangnantinyadijalankan,tidakakanmempengaruhikinerjasistemoperasiyangsesungguhnya.
Langkah-langkahdansettingsistemoperasiyangberjalanpadavirtualbox:
PastikanandasudahmelakukaninstalasivirtualboxdenganbenarPastikanandasudahmelakukaninstalasisistemoperasiwindowsxpdivirtualboxdenganbenar.AndaharusmelakukaninstalasiduasistemoperasiwindowsXP,satuosuntukcommandandcontrolserver,satuoslagiuntukdijadikanclient/korbanSistemoperasiwindowstidakharusmenggunakanvirtualsemuanya,cukupclient/
HandoutKeamananKomputer
37Bab8-PengenalanAnalisaMalware
korbansajayangdisettingvirtualDownloadcontohsamplemalwaredisini,tapijangandijalankanataujangandiklik,apabilasudahselesaididownloadPasswordfiledownloadtersebutadalah"infected"BukamalwareyangbernamaPoisonIvySnapshotvirtualboxAnda,sehinggaapabilavirtualboxmengalamikerusakanmakadapatdilakukanrestore.Untukmelakukansnapshot,jalankanosvirtual,kemudianklikmachine->takesnapshot(biarkansajasampaiprosessnapshotselesai)
EksplorasiRATMalwarePoisonIvyRemoteAdministrationTooldisinidigunakanuntukmelakukanperintahdanpengendalianterhadapmesindarijarakjauhmenggunakanpoisonivy.PoisonivymerupakanRATmalwareyangdapatmelakukankendali100%terhadapsistemkorban.
PanduansettingeksplorasiRATPoisonIvyadalahsebagaiberikut:
PastikanAndasudahmempunyaisistemoperasiwindowsyangakandijadikanC&C(CommandAndControl)ServerPastikanAndasudahmempunyaisistemoperasiwindowsyangakandijadikanclient/korbanMasing-masingsistemoperasi,silakantulisalamatipnya,jangankeliruyaantaraipserverdenganipkorbanBukafilePoisonIvytadidisistemoperasiyangdijadikansebagaiserverApabilatidakbisadibukakarenamunculerror"hasstoppedworking",mungkinhaltersebutdisebabkankarenaWindowsDataExecutionPreventionmelakukanblokir.SehinggamatikandulusettingDEPdengancaramasukkeControlPanel->SystemAndMaintenance->System->AdvanceSystemSettings.Ubahlahsesuaidengangambardibawahini:
HandoutKeamananKomputer
38Bab8-PengenalanAnalisaMalware
Gambar8.1MatikanSettingDEP
RestartWindowsPanduanMembuatTrojanDenganPoisonIvy
1. BukalahPoisonIvy,kemudianklikFile->NewServer2. Akanmunculjendelapopupsepertiberikutini:
HandoutKeamananKomputer
39Bab8-PengenalanAnalisaMalware
Gambar8.2ProfilPoisonIvy
Andaisimenuprofilnyasesuaidengannamamahasiswa,kemudianklikOK
3. PadamenuConnection,ubahlahalamatpadakolomDNS/Portdariyangsemula127.0.0.1menjadialamatipsesuaidengankomputerAnda.Tampilannyaadalahsebagaiberikut:
HandoutKeamananKomputer
40Bab8-PengenalanAnalisaMalware
Gambar8.3MenuConnection
4. Kegunaannyaadalahuntukbertindaksebagaiserverkontroldankendalisehinggadapatbertindaklayaknyarobotyangsetiapsaatdapatdieksekusi.Fileininantinyaakanberbentuktrojanyangdapatmelakukaninjeksiterhadapsistem.
5. Apabilamenuconnectionsudahselesai,klikOK,kemudiantekantombolnextdipojokkananbawah.
6. Masukmenuinstall.Menuinidigunakanuntukmembuattrojan.Lewatisajadenganmenekantombolnext.
7. Masukmenuadvanced.Padamenuini,biarkansepertisettingandefaultaliastidakusahdiubah-ubah.Pastikanbahwaitemkeyloggersudahtercentang.Tampilannyaadalahsebagaiberikut:
HandoutKeamananKomputer
41Bab8-PengenalanAnalisaMalware
Gambar8.4MenuAdvance
8. KlikOKdanKlikNext,kemudianmasukkemenubuild.9. Padamenubuild,silakanklikGenerate10. Lalukeluarpopupsaveas,simpanlahtrojantersebutdengannama"namaAnda.exe"
kalausudahklikOK11. Apabilatrojansudahberhasildibuat,agardapattersimpansilakannonaktifkandulu
firewalldanantivirusyangterdapatpadawindows.12. Pastikantrojanyangbarusajadibuat,tidakdijalankanataudidoubleklik.MesinServerKontroldanKendali
Apabilapembuatantrojansudahberhasil,sekaranghidupkansoftwarepoisonivypadasistemoperasiwindowsyangdigunakansebagaiserver.
1. BukaPoisonIvy,KlikFile->NewClient2. Akanuncultampilandanketeranganuntukmengubahportdantambahkanpassword,
biarkansajasesuaisettingandefault,KlikStart.3. LaluakanmunculketeranganPoisonIvyListeningonPort3460sepertigambar8.5
berikutini:
HandoutKeamananKomputer
42Bab8-PengenalanAnalisaMalware
Gambar8.5TampilanPoisonIvyUntukMelihatClient
4. TunggusajasampaikorbanmenjalankantrojanyangtadisudahdibuatInfeksiSistemTarget
Sebelummelakukaninfeksiterhadapmesinkorban(mesinvirtual)pastikanantarasistemvirtualdengansistemoperasiutamasudahterhubung.
1. BukaSistemoperasidivirtual,kemudianlakukanpingpadasistemoperasiutama.Pastikansudahterhubung,apabilabelummakalakukansettingdenganbenar(settingNAT)
2. Pindahkanfiletrojandarisistemoperasiutamakesistemoperasivirtual3. Apabilasudahberhasildipindahkan/dicopykevirtual,jalankanfiletrojantersebutMelihatAktivitasTrojan
Apabilakorbansudahmenjalankantrojantersebut,makabukalahsoftwarepoisonivyuntukmengetahuimesinmilikkorban.Adapuntampilannyaadalahsebagaiberikut:
HandoutKeamananKomputer
43Bab8-PengenalanAnalisaMalware
Gambar8.6TampilanAktifitasSistemMilikKorban
EksploitasiMesinTarget
Apabilatampilanpadagambar8.6sudahmuncul,makaandadapatmelakukaneksploitasisistemmilikkorbandenganmelakukandoubleklikpadanamamesinkorban"YOURNAME".Apabilasudahdijalankanmakaakanmunculgambarsepertiberikut:
Gambar8.7TampilanProsespadaMesinKorban
Kemudiandapatmelihatpasswordhasheswindowsmilikkorban,sepertigambarberikutini:
HandoutKeamananKomputer
44Bab8-PengenalanAnalisaMalware
Gambar8.8WindowsHashesPassword
Kemudiandapatmelihattampilansistemkorban,sepertigambarberikutini:
Gambar8.9DesktopMilikKorban
Menarikbukan?Nah,apayangdisajikanpadapraktikuminimasihsangatsedikitsekali,selanjutnyasilakanlakukaneksplorasisendiriterkaitdenganaktivitaslainyangdapatdilakukanolehRATPoisonIvyini.
HandoutKeamananKomputer
45Bab8-PengenalanAnalisaMalware
TugasPraktikum1. BuatlahsettingOSWindowsuntukhostutamadenganOSWindowsuntukVirtual
sesuaipenjelasanmodul,kemudiandokumentasikanhasilsettingannyabesertatambahkanscreenshotoutputdanberikanpenjelasannselengkapmungkin.
2. CobalahmembuattrojandengannamaAndasendirimengacupadapenjelasandimodul,kemudianujidengansistemoperasiyangsudahAndasetting,kemudiandokumentasikandanberikanketerangandanscreenshotnya.
HandoutKeamananKomputer
46Bab8-PengenalanAnalisaMalware