Modul Keamanan Komputer Triawan

Post on 29-Jan-2016

33 views 5 download

description

Modul Keamanan Komputer

Transcript of Modul Keamanan Komputer Triawan

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

print"ProsesScanningselesai.."

print

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