Recently I have been looking into the vulnerabilities in the TLS negotiation process discovered late last year.
There are a range of experts debating the exploit methods, tools and how it may be fixed (server or client site or both). From what I have seen so far this may prompt a change to the TLS standard to introduce an extension to the protocol to validate sessions (session hand off and certificate validity).
I’m also trying to find some tools which may assist in testing for this. It looks like the exploit relies on an ARP poison or similar and then inserting plain text into the negotiation process.
Could be something that can be fixed over time as servers and clients are patched.
I have a Iphone and have been loading Ham applications onto it… Below is a list of some of them.
Amateur Radio Exam Prep for iPhone – Amateur Radio License exams are composed of questions from a pool. Use this application to practice all possible questions prior to taking your exam
CallBook for iPhone– CallBook is an Amateur Radio application that allows you to look up call signs via the free WM7D server, the QRZ Online subscription service or the HamCall subscription server and track active APRS stations on www.aprs.fi. Lookup results can be emailed and the QTH can be instantly viewed in the Maps application
Elmer for iPhone – iPhone Software to practice taking your Ham Radio Exam
FreqLoader: iPhone companion for the mobile ham– FreqLoader is the perfect iPhone/iPod Touch companion for amateur radio operators, monitoring enthusiasts, shortwave listeners and anyone with an interest in the air waves. Whether you’re an active licensed ham or an avid scanner listener, FreqLoader will allow you to find what you’re looking for, keep track of your stations, maintain complete logs and share your finds with friends, groups and the world.
iLocator for iPhone – A small application for Apple iPhone that calculate grid locator from gps, wifi or gsm cells by IW2BSQ
iPhone Ham Radio Callsign Lookup– This webapp provides an iPhone-compatible lookup of Amateur Radio Callsigns. It provides the name, address, and license class (from the FCC’s public records) of any US-Licensed Amateur Radio Operator.
Morse Key for iPhone – A free simple touchscreen-based CW Morse Code straight key. Practice sending Morse Code on your iPhone.
IBCNU APRS on the Iphone -Â The Live IBCNU feed can be found here.
Suggest use of restricted secure IP addresses / tunnelling
Suggest use of private feeds
Modem issues used with dial in services
No dial back
No Authentication
No Secure ID
Possibly automated scripts used, so hard coded usernames and passwords used.
Internet sharing may be turned on, allowing routing via workstations.
Increased data security and integrity considerations
Data backups
System redundancy
Site and content filtering
Virus protection
Standard system procurement (discounts and spares)
Network and services redundancy
Network monitoring
Service availability monitoring
Internal controls
Vendor / external service supplier
Capacity management
Change management system
Asset management system
Telecommunication and telephony bulk cost discounting
Etc.
Use and support for corporate application considerations
Email
Intranet
Internet
Corporate virus protection
Asset management
Change management
Project management
Performance / capacity management
Reduction of Cost
Use of corporate applications
Reduction of manual processes
Other things to keep in mind:
SCADA monitoring system must be isolated from network errors and systems events. This will prevent SCADA operational systems being effected by network or corporate system issues / outages.
Review Network topology to ensure internal and external vulnerabilities are not currently being and cannot be abused.
Review of router configurations
Use of change management system
Review remote dial in systems
Firewall SCADA systems off from corporate applications
Uncontrolled networks and systems within the SCADA environment will compromise the corporate environments integrity and security.
Determine if systems used within SCADA are built to a standard operating environment.
A few years back, some friends and I were messing around with a Taco Bell’s drive-thru frequencies. RijilV and isotek showed me how easy it was to hijack the frequencies of just about any fast food restaurant with a very simple mod to a ham radio. The radios they used were Yaesu VX-5 and VX-7 models. We had a few weeks of occasional fun, sitting a few parking lots away and saying all kinds of horrible things to potential fast food customers. For the most part, I didn’t record any of it. But you can find a few clips of our fast food hijinks if you scroll down on the PLA Sound Clips Archive page.
Finally we decided to capture a bit of our FCC violations on video. But instead of capturing actual customers being harassed by us as they placed an order, I drove through the Taco Bell drive-thru myself with a video camera sitting on the dashboard. As I attempted to place my order, RijilV informed me of some crazy new Taco Bell policies and a manager immediately rushed out to explain to me that I wasn’t actually talking to an employee. Here is that video:
After spending several years on Google Video and YouTube, it’s been watched approximately 20,000 times. And of those 20,000 people who have viewed it, approximately all of them have emailed me and asked me what kind of radio we used and how can they use a radio to do the same thing. So in the spirit of April 1st and in order to quell the number of emails sent to me and posts on the PLA Forums asking the same thing, I’ve decided to write this tutorial to help those people out.
But I’m not going to explain how to modify a Yaesu VX5 or a Yaesu VX7. A simple Googlesearch will show you how to modify these ham radios. The problem with these mods is that, even though they’re fairly simple, you have to buy the radios which could cost you anywhere from $200 – $400. Then, after removing a couple solder points, you have to learn how to use it, you have to look up fast food frequency lists, you have to understand the difference between the transmit frequencies and the receive frequencies and you have to scroll through PL tones using trial and error to find the correct one.
Or how about we do this a different way. A way that uses a couple items that you might already have in your home. You can easily modify most old CB radios in a way that will allow them to transmit directly to drive-thru frequencies. You won’t have to scroll through hundreds of possible drive-thru frequencies, because a CB radio’s channels line up in exactly the same way as most drive-thru’s channels, only at a higher frequency. How do you get your CB radio to run at a higher frequency? A simple replacement of the crystal inside, with a 6.5536 MHz crystal. This triples the megahertz that are broadcast on and there is no learning required. You just take the modified CB radio to a fast food restaurant and start broadcasting to the customers.
“But RBCP, I don’t have a 6.5536 MHz crystal lying around my house,†you might be whining at this point. But this isn’t true. Just about any house has several 6.5536 MHz crystals in them if you know where to look. This just happens to be the exact same crystal that you can find in electric heaters, hair dryers, electric stoves, curling irons, electric hot water heaters, irons, and toasters. These crystals are in just about any item that has heated coils and are used to control the frequency of the heating elements so that they don’t burn your house down.
So for this modification you need…
1 CB radio. It has to be a 40 channel CB radio with a digital display, which includes just about any CB radio manufactured after the mid 1980’s. The old 23 channel CBs from the 1970’s will not work. It can even be a walkie talkie CB radio. If you don’t have one, you can find one at Goodwill or a yard sale for probably less than $10.
1 toaster. (Or other item with heating elements inside.) A toaster is the most ideal to use, because it’s almost guaranteed to have the crystal inside of it. It’s more common to find curling irons and hair dryers that don’t. Again, it should be a toaster manufactured within the past 20 years or so. Before that they didn’t have crystal requirements for toaster manufacturers. (And incidentally, there were a lot more electrical house fires back then.) Goodwill will probably have a toaster for less than $10.
1 soldering iron and solder. Don’t worry if you don’t have soldering experience. It’s actually pretty easy. Click here for a soldering tutorial. You can purchase a soldering iron at Radio Shack or Sears for about $10.
A few screwdrivers
Even if you have to buy all these materials, you’re only out $30. That’s a lot better than the $300 you might end up spending on a Yaesu radio. And some of you might already have all these items so you don’t have to pay anything. Ask a friend or a relative if they’ve got an old toaster or CB radio lying around that they don’t need.
First you’ll want to take apart your toaster. This isn’t too hard. Just flip it upside down and start removing the screws. You’ll probably need to pull off the plastic lever and knobs before you remove the top of the toaster. Once you have the top off, you’ll see a green or brown circuit board inside.
Flip the circuit board down and you’ll see all the components on the other side, including the 6.5536 MHz crystal. The crystal is silver and will have 6.5 stamped on the side of it. In the picture below, I’ve used an arrow to show you where it’s located.
The crystal is likely in a different spot in other toasters, but it’s hard to mistake for any other electronic component. The crystal will have some form of 6.5 stamped on the side of it. In my toaster, it showed 6.55-12. While the official frequency needed is 6.5536 MHz, anything within 1.6 megahertz will work. So don’t worry if your crystal just says 6.5 or 6.50 – it’s all the same for our purposes.
It’s kind of hard to see what I’m doing in the picture above, but I’m heating up the leads on the crystal from underneath with my soldering iron to melt the solder, and I’m pulling on the crystal from above with a pair of needle nose pliers. It only takes a few seconds to get the crystal out of the toaster.
Now that the crystal is out of your toaster, throw your toaster away! Do not attempt to use it once the crystal is removed. Remember, the crystal is in there for safety and using your toaster without the crystal could burn your toast and/or start a kitchen fire. It’s likely your toaster won’t even turn on with the missing crystal, but please don’t even try. Just throw it away.
As I mentioned before, just about any brand and model of CB radio will work, as long as it has the digital display on it. Which means, just about any CB radio manufactured after the mid 1980’s. These are the kinds of CB radios whose frequencies are controlled by a single crystal inside of them. For my mod, I used a Radio Shack TRC-207 walkie talkie CB radio, which is pictured above. I prefer using a walkie talkie CB radio because it doesn’t requiring sticking a huge CB antenna on the roof of my car which might be noticed if a fast food employee starts looking around the parking lot for the culprits.
Taking apart your CB radio is just as easy as taking apart the toaster. Remove the screws and pop it open. You may or may not have to lift up the circuit board inside to find the crystal inside. In my particular model, the crystal actually plugged into a socket so I didn’t need to even desolder the old crystal. I just pulled it out with my fingers and then plugged in the new 6.55 MHz crystal. I don’t know how common this is, because in other CB radios that I’ve modified the crystal was soldered to the circuit board, just like in the toaster.
Put your CB back together and test it to make sure it’s working. You’re finished! Obviously, you won’t be able to talk on normal CB channels anymore since your CB is transmitting and receiving at a much higher frequency now. But who cares, CB channels are lame anyway. Let’s hop in the car and drive to our nearest fast food establishment to test it out.
Sit near the drive-thru and wait for a customer to pull up. While the customer is talking to the drive-thru speaker, start flipping through your channels until you hear them talking. I’ve found that most drive thrus end up being somewhere in the 16 – 25 channel range. I’ve never found one above channel 30 and only a few on channels 1 through 15. It all depends on how their drive-thru is set up and what frequencies they’re using. Anyway, push down your talk button and start talking to the customer.
The cool thing about using a CB radio to transmit on drive-thru frequencies is that a CB is designed to work for several miles. The headsets that those fast food people wear are only designed to work for about 100 feet. So you can easily overpower the employees, even if you’re several parking lots away. In fact, you may be inadvertently screwing with several other drive-thrus in town without even knowing it. This is more likely when you’re using the kind of CB radio that’s supposed to be installed in a car. Those usually run on 5 watts and can cover an entire city. This is another reason I like to use my walkie talkie. It’s lucky if it will work for even a mile, so I’m only harassing one restaurant at a time.
If you found this tutorial useful, you might also enjoy the video I’ve made on the same subject. It includes much of the same information in this tutorial, but also includes actual footage of us messing with a drive-thru with this CB mod. Enjoy!
I’m looking at the Microsoft OCS server and other SIP integration environments. So I thought I would put the links here for others who were interested. I am also considering the issues associated with Mitel VoIP and OCS integration.
It would be interesting if the Microsoft OCS could seamlessly allow the use of soft phones and the Mitel VoIP system. I assume a trunk needs to be setup between the two… Anyway something to look at.
I have been putting some secure application development documents together recently and have found some good general tutorials and guidelines which I thought I would post here.
Best Practices
The Ten Most Critical Web Application Security Vulnerabilities, 2004 Update, The Open Web Application Security Project. URL: http://www.owasp.org/documentation/topten
I was asked some time ago to provide a list of things which may be considered when looking at Internet Banking.
Below is the list. It was just a brain dump and as such may not be complete.
Don’t underestimate the value of standards for your infrastructure, website configuration, database engine configuration/architecture,staging environment and development/QA environments.
Some thoughts:
Many don’t lock accounts after X failed logins, this is normally done for good customer service, but leaves the system vulnerable.
– And all the other things expected for a remote login session (forced password changes, aging, etc)) – Tools such as Brutus may be use to brute force hack authenticated sessions.
Many allow session sequence numbers to be incremented, allowing an authenticated user to view other customer session.
– These may be server side, client side, cookie based, etc. – Get someone to check the development methodologies and the code being used. – Database query strings can be placed into test entry fields, allowing table dumps to browser. – Check all pages served are secure and contain user authentication flags.
Customer data may not be segregated, this needs to be checked.
Customer data should not reside on the Web Server.
Authentication databases / system data should not reside on the webserver.
The databases should reside on a private/semi-private network.
– A different segment to the main banking system.
Webserver should be dual homed or equivalent (some VLAN techniques are good)
– Separate private and public network cards, monitoring/backup/administration – Infrastructure set-up to explicitly deny inbound/outbound ports, private IP & monitoring escaping from the network.
At all data segregation points ensure rules are in place which appreciates the traffic though that point.
All customer data where possible should be sourced from a secure back-end database.
– This may be a staging environment. i.e. no the main banking system. – This usually allows for transactions to appear real time to the customer. – Many transactions may be batched in reality. (internal or external to the bank)
Ensure suitable rules have been set-up on firewalls.
– There should be inbound and outbound rules on firewalls and filtering routers.
Don’t allow any infrastructure on the front end to allow remote administrative connections. (telnet, etc.)
– Use the serial console port to connect to a server or back-end terminal server.
Look for the segregation / staging of online customer content from main banking systems
Ensure that a separate development / QA / production environment system and suitable process is in place.
Services not used by the system are active
– These should be disabled.
Port scan of the supporting infrastructure (routers /switches) and server(s).
– Investigate the reasons for all open ports.
Don’t use the main gateway for trusted partner access (clearing / RAS / etc.)
Do all that standard IIS checks and NT checks (Sample scripts, change management, patching methodologies, etc.)
Ensure denial of service precaution have been taken into account for all infrastructure and server equipment.
Check the adequacy of the escalation procedures used.
– Look for real-time monitoring and alerting. – Look for responsibility matrix. – Look for ownership of issues.
Consider upstream carrier(s) vulnerability (denial of service, IP spoofing, DNS hacking, etc)
Consider social engineering of customer, administrative, partner accounts / systems / infrastructure.
Use dynamic passwords where possible (SecureID, TACACS, etc.).
Use encrypted tunnelling where needed (IPSec, Firewall 1, etc)
Consider looking at other customer authentication methods to enhance existing methods.
– Digital cert, IP address locked to account, etc. – Consider use of CVV or CVN for bank issued cards.
Consider how passwords are distributed /changed for customers.
– Plain text email, telephone, etc. – Can passwords be changed online?
Is additional authentication used between sections of the services once authenticated?
Consider what the customer has access to once authenticated.
– Look at SWIFT, RTGS, inter-bank transfers, access to credit cards, etc. – If an attacker does get in, what can the do?
Use techniques to ensure pages, customer details are not cached at ISP, or client system.
– These are flags that can be set within pages. – Normally SSL is cached, but some proxy vendors have been playing with techniques to do so. – Caching of SSL pages on the client system can be turned on on some browsers. – May banks use a Java (or similar) applet for all customer interaction, restricting all caching issues.
Ensure paper based and on-line liability clauses are available are address all effected areas.
Ensure within the customer sign-up process banking liability is reduced.
– I’ve seen statements like “use this system at your own risk, responsibility for any liability or claim will NOT……” – Not very customer focused, but that’s what their legal department recommended.
All of the above can effect the security and/or operation of an on-line banking system.
Other things to consider:
External development and support of the application.
Ownership and management of the hardware/applications
Publishing points for new content (internal/private/trusted network or Internet)
Topology of front end. i.e. Security Architecture document should be in place and managed appropriately.
Are limited AP tests performed whenever changes are made to the environment? i.e. integrated AP into Change management process.
Database access. Is it buffered or is it live to the core banking systems.
What facilities are provided? Direct debit + Credit Card + SWIFT + ……. Consider different scenarios for your attack depending on the feature.
What other services are shared within the network segment that the Internet Banking service is running. Can this be used to compromise the Internet Banking site. eg. different support/business/development organisations with differing security strategies/profiles.
Consider all external supporting services within you AP. Look at internal/external DNS poisoning opportunities, mail relay, etc. What IPS’s do they use has the ISP any opportunity to access systems or supporting services which may affect Internet Banking.
Depending on the size of the Bank, many organisation do not use the same support groups for infrastructure and the application. As a result external connections to the infrastructure may be provided for an external support organisation to administer the infrastructure.
Look at the business and user authentication methods and paths (client side certs, secure ID, SMART Card, etc). Consider two factor authentication and modern user identification methods. eg. what is your favourite food in addition to normal usernames and passwords. Do system administration staff use dynamic passwords (secureID, etc)?
See if the Internet Banking application sends email to users which may contain interesting information.
Better access to the application can generally be gained after access to the system. i.e. get an legitimate account on the system. I have found that some sample/administration screens have been restricted to authenticated users only.
Consider social engineering the Help desk to have an account password reset.
I found a list of useful Cisco commands which I though I would post here.
ROUTER COMMANDS :
Config# terminal editing – allows for enhanced editing commands
Config# terminal monitor – shows output on telnet session
Config# terminal ip netmask-format hexadecimal|bit-count|decimal – changes the format of subnet masks
HOST NAME:
Config# hostname ROUTER_NAME
BANNER:
Config# banner motd # TYPE MESSAGE HERE # – # can be substituted for any character, must start and finish the message
DESCRIPTIONS:
Config# description THIS IS THE SOUTH ROUTER – can be entered at the Config-if level
CLOCK:
Config# clock timezone Central -6 # clock set hh:mm:ss dd month yyyy – Example: clock set 14:13:00 25 August 2003
CHANGING THE REGISTER:
Config# config-register 0x2100 – ROM Monitor Mode
Config# config-register 0x2101 – ROM boot
Config# config-register 0x2102 – Boot from NVRAM
BOOT SYSTEM:
Config# boot system tftp FILENAME SERVER_IP – Example: boot system tftp 2600_ios.bin 192.168.14.2
Config# boot system ROM
Config# boot system flash – Then – Config# reload
CDP:
Config# cdp run – Turns CDP on
Config# cdp holdtime 180 – Sets the time that a device remains. Default is 180
Config# cdp timer 30 – Sets the update timer.The default is 60
Config# int Ethernet 0
Config-if# cdp enable – Enables cdp on the interface
Config-if# no cdp enable – Disables CDP on the interface
Config# no cdp run – Turns CDP off
HOST TABLE:
Config# ip host ROUTER_NAME INT_Address – Example: ip host lab-a 192.168.5.1 -or-
Config# ip host RTR_NAME INT_ADD1 INT_ADD2 INT_ADD3 – Example: ip host lab-a 192.168.5.1 203.23.4.2 199.2.3.2 – (for e0, s0, s1)
DOMAIN NAME SERVICES:
Config# ip domain-lookup – Tell router to lookup domain names
Config# ip name-server 122.22.2.2 – Location of DNS server
Config# ip domain-name cisco.com – Domain to append to end of names
CLEARING COUNTERS:
# clear interface Ethernet 0 – Clears counters on the specified interface
# clear counters – Clears all interface counters
# clear cdp counters – Clears CDP counters
STATIC ROUTES:
Config# ip route Net_Add SN_Mask Next_Hop_Add – Example: ip route 192.168.15.0 255.255.255.0 205.5.5.2
Config# ip route 0.0.0.0 0.0.0.0 Next_Hop_Add – Default route -or-
Config# ip default-network Net_Add – Gateway LAN network
IP ROUTING:
Config# ip routing – Enabled by default
Config# router rip -or-
Config# router igrp 100
Config# interface Ethernet 0
Config-if# ip address 122.2.3.2 255.255.255.0
Config-if# no shutdown
IPX ROUTING:
Config# ipx routing
Config# interface Ethernet 0
Config# ipx maximum-paths 2 – Maximum equal metric paths used
Config-if# ipx network 222 encapsulation sap – Also Novell-Ether, SNAP, ARPA on Ethernet. Encapsulation HDLC on serial
Config-if# no shutdown
ACCESS LISTS:
IP Standard
1-99
IP Extended
100-199
IPX Standard
800-899
IPX Extended
900-999
IPX SAP Filters
1000-1099
IP STANDARD:
Config# access-list 10 permit 133.2.2.0 0.0.0.255 – allow all src ip’s on network 133.2.2.0 -or-
Config# access-list 10 permit host 133.2.2.2 – specifies a specific host -or-
Config# access-list 10 permit any – allows any address
Config# int Ethernet 0
Config-if# ip access-group 10 in – also available: out
IP EXTENDED:
Config# access-list 101 permit tcp 133.12.0.0 0.0.255.255 122.3.2.0 0.0.0.255 eq telnet -protocols: tcp, udp, icmp, ip (no sockets then), among others -source then destination address -eq, gt, lt for comparison -sockets can be numeric or name (23 or telnet, 21 or ftp, etc) -or-
Config# access-list 101 deny tcp any host 133.2.23.3 eq www
Config# access-list 801 permit -1 -1 – “-1” is the same as “any” with network/host addresses
Config# interface Ethernet 0
Config-if# ipx access-group 801 outIPX EXTENDED:
Config# access-list 901 permit sap 4AA all 4BB all – Permit protocol src_add socket dest_add socket -“all” includes all sockets, or can use socket numbers
-or-
Config# access-list 901 permit any any all any all -Permits any protocol with any address on any socket to go anywhere
Config# interface Ethernet 0
Config-if# ipx access-group 901 inIPX SAP FILTER:
Config# access-list 1000 permit 4aa 3 – “3” is the service type
-or-
Config# access-list 1000 permit 4aa 0 – service type of “0” matches all services
Config# interface Ethernet 0
Config-if# ipx input-sap-filter 1000 – filter applied to incoming packets
-or-
Config-if# ipx output-sap-filter 1000 – filter applied to outgoing packets
NAMED ACCESS LISTS:
Config# ip access-list standard LISTNAME -can be ip or ipx, standard or extended -followed by the permit or deny list
Config# permit any
Config-if# ip access-group LISTNAME in -use the list name instead of a list number -allows for a larger amount of access-lists
PPP SETUP:
Config-if# encapsulation ppp
Config-if# ppp authentication chap pap -order in which they will be used -only attempted with the authentification listed -if one fails, then connection is terminated
Config-if# exit
Config# username Lab-b password 123456 -username is the router that will be connecting to this one -only specified routers can connect
-or-
Config-if# ppp chap hostname ROUTER
Config-if# ppp chap password 123456 -if this is set on all routers, then any of them can connect to any other -set same on all for easy configuration
ISDN SETUP:
Config# isdn switch-type basic-5ess – determined by telecom
Config# interface serial 0
Config-if# isdn spid1 2705554564 – isdn “phonenumber” of line 1
Config-if# isdn spid2 2705554565 – isdn “phonenumber” of line 2
Config-if# encapsulation PPP – or HDLC, LAPD
DDR – 4 Steps to setting up ISDN with DDR Configure switch type
1. Config# isdn switch-type basic-5ess – can be done at interface config
2. Configure static routes Config# ip route 123.4.35.0 255.255.255.0 192.3.5.5 – sends traffic destined for 123.4.35.0 to 192.3.5.5 Config# ip route 192.3.5.5 255.255.255.255 bri0 – specifies how to get to network 192.3.5.5 (through bri0)
3. Configure Interface Config-if# ip address 192.3.5.5 255.255.255.0 Config-if# no shutdown Config-if# encapsulation ppp Config-if# dialer-group 1 – applies dialer-list to this interface Config-if# dialer map ip 192.3.5.6 name Lab-b 5551212 connect to lab-b at 5551212 with ip 192.3.5.6 if there is interesting traffic can also use “dialer string 5551212” instead if there is only one router to connect to
4. Specify interesting traffic Config# dialer-list 1 ip permit any -or- Config# dialer-list 1 ip list 101 – use the access-list 101 as the dialer list
5. Other Options Config-if# hold-queue 75 – queue 75 packets before dialing Config-if# dialer load-threshold 125 either -load needed before second line is brought up -“125” is any number 1-255, where % load is x/255 (ie 125/255 is about 50%) -can check by in, out, or either
Config-if# dialer idle-timeout 180 -determines how long to stay idle before terminating the session -default is 120
FRAME RELAY SETUP:
Config# interface serial 0
Config-if# encapsulation frame-relay – cisco by default, can change to ietf
Config-if# frame-relay lmi-type cisco – cisco by default, also ansi, q933a
Config-if# bandwidth 56
Config-if# interface serial 0.100 point-to-point – subinterface
Config-if# ip address 122.1.1.1 255.255.255.0
Config-if# frame-relay interface-dlci 100 -maps the dlci to the interface -can add BROADCAST and/or IETF at the end
Config-if# interface serial 1.100 multipoint
Config-if# no inverse-arp – turns IARP off; good to do
Config-if# frame-relay map ip 122.1.1.2 48 ietf broadcast -maps an IP to a dlci (48 in this case) -required if IARP is turned off -ietf and broadcast are optional
Config-if# frame-relay map ip 122.1.1.3 54 broadcast
SHOW COMMANDS
Show access-lists – all access lists on the router
Show cdp – cdp timer and holdtime frequency
Show cdp entry * – same as next
Show cdp neighbors detail – details of neighbor with ip add and ios version
Show cdp neighbors – id, local interface, holdtime, capability, platform portid
Show cdp interface – int’s running cdp and their encapsulation
Show cdp traffic – cdp packets sent and received
Show controllers serial 0 – DTE or DCE status
Show dialer – number of times dialer string has been reached, other stats
Show flash – files in flash
Show frame-relay lmi – lmi stats
Show frame-relay map – static and dynamic maps for PVC’s
Show frame-relay pvc – pvc’s and dlci’s
Show history – commands entered
Show hosts – contents of host table
Show int f0/26 – stats of f0/26
Show interface Ethernet 0 – show stats of Ethernet 0
Show ip – ip config of switch
Show ip access-lists – ip access-lists on switch
Show ip interface – ip config of interface
Show ip protocols – routing protocols and timers
Show ip route – Displays IP routing table
Show ipx access-lists – same, only ipx
Show ipx interfaces – RIP and SAP info being sent and received, IPX addresses
Show ipx route – ipx routes in the table
Show ipx servers – SAP table
Show ipx traffic – RIP and SAP info
Show isdn active – number with active status
Show isdn status – shows if SPIDs are valid, if connected
Show mac-address-table – contents of the dynamic table
Show protocols – routed protocols and net_addresses of interfaces
Show running-config – dram config file
Show sessions – connections via telnet to remote device
Show startup-config – nvram config file
Show terminal – shows history size
Show trunk a/b – trunk stat of port 26/27
Show version – ios info, uptime, address of switch
Show vlan – all configured vlan’s
Show vlan-membership – vlan assignments
Show vtp – vtp configs
CATALYST COMMANDS For Native IOS – Not CatOS
SWITCH ADDRESS:
Config# ip address 192.168.10.2 255.255.255.0
Config# ip default-gateway 192.168.10.1DUPLEX MODE:
Config# interface Ethernet 0/5 – “fastethernet” for 100 Mbps ports
Config-if# duplex full – also, half | auto | full-flow-control
Config# mac-address-table permanent aaab.000f.ffef e0/2 – only this mac will work on this port
Config# mac-address-table restricted static aaab.000f.ffef e0/2 e0/3 -port 3 can only send data out port 2 with that mac -very restrictive security
Config-if# port secure max-mac-count 5 – allows only 5 mac addresses mapped to this port
VLANS:
Config# vlan 10 name FINANCE
Config# interface Ethernet 0/3
Config-if# vlan-membership static 10TRUNK LINKS:
Config-if# trunk on – also, off | auto | desirable | nonegotiate
Config-if# no trunk-vlan 2 -removes vlan 2 from the trunk port -by default, all vlans are set on a trunk port
CONFIGURING VTP:
Config# delete vtp – should be done prior to adding to a network
Config# vtp server – the default is server, also client and transparent
Config# vtp domain Camp – name doesn’t matter, just so all switches use the same
Config# vtp password 1234 – limited security
Config# vtp pruning enable – limits vtp broadcasts to only switches affected
Config# vtp pruning disableFLASH UPGRADE:
Config# copy tftp://192.168.5.5/configname.ios opcode – “opcode” for ios upgrade, “nvram” for startup config
DELETE STARTUP CONFIG:
Config# delete nvram
BGP:
show ip bgp – Displays entries in the BGP routing table.
show ip bgp injected-paths – Displays paths in the BGP routing table that were conditionally injected.
show ip bgp neighbors – Displays information about the TCP and BGP connections to neighbors.
BGP Conditional Route Injection:
Step 1 Router(config)# router bgp as-number -Â Places the router in router configuration mode, and configures the router to run a BGP process.
Step 2 Router(config-router)# bgp inject-map ORIGINATE exist-map LEARNED_PATH -Â Configures the inject-map named ORIGINATE and the exist-map named LEARNED_PATH for conditional route injection.
Step 3 Router(config-router)# exit -Exits router configuration mode, and enters global configuration mode.
Step 4 Router(config)# route-map LEARNED_PATH permit sequence-number – Configures the route map named LEARNED_PATH.
Step 5 Router(config-route-map)# match ip address prefix-list ROUTE – Specifies the aggregate route to which a more specific route will be injected.
Step 6 Router(config-route-map# match ip route-source prefix-list ROUTE_SOURCE – Configures the prefix list named ROUTE_SOURCE to redistribute the source of the route. Note The route source is the neighbor address that is configured with the neighbor remote-as command. The tracked prefix must come from this neighbor in order for conditional route injection to occur.
Step 7 Router(config-route-map)# exit – Exits route-map configuration mode, and enters global configuration mode. Step 8 Router(config)# route-map ORIGINATE permit 10 – Configures the route map named ORIGINATE.
Step 9 Router(config-route-map)# set ip address prefix-list ORIGINATED_ROUTES – Specifies the routes to be injected.
Step 10 Router(config-route-map)# set community community-attribute additive – Configures the community attribute of the injected routes.
Step 11 Router(config-route-map)# exit – Exits route-map configuration mode, and enters global configuration mode. Step 12 Router(config)# ip prefix-list ROUTE permit 10.1.1.0/24 – Configures the prefix list named ROUTE to permit routes from network 10.1.1.0/24.
Step 13 Router(config)# ip prefix-list ORIGINATED_ROUTES permit 10.1.1.0/25 – Configures the prefix list named ORIGINATED_ROUTES to permit routes from network 10.1.1.0/25.
Step 14 Router(config)# ip prefix-list ORIGINATED_ROUTES permit 10.1.1.128/25 – Configures the prefix list named ORIGINATED_ROUTES to permit routes from network 10.1.1.0/25.
Step 15 Router(config)# ip prefix-list ROUTE_SOURCE permit 10.2.1.1/32 – Configures the prefix list named ROUTE_SOURCE to permit routes from network 10.2.1.1/32. Note The route source prefix list must be configured with a /32 mask in order for conditional route injection to occur.
DHCP
Step 1 (config)# interface ethernet0/0 (config-if)#ip address 1.1.1.1 255.0.0.0 (config-if)# no shutdown – Configure an IP address on the router’s Ethernet port, and bring up the interface. (On an existing router, you would have already done this.)
Step 2 (config)# ip dhcp pool mypool – Create a DHCP IP address pool for the IP addresses you want to use.
Step 3 (dhcp-config)# network 1.1.1.0 /8 – Specify the network and subnet for the addresses you want to use from the pool.
Step 4 (dhcp-config)#domain-name mydomain.com – Specify the DNS domain name for the clients.
Step 5 (dhcp-config)#dns-server 1.1.1.10 1.1.1.11 – Specify the primary and secondary DNS servers.
Step 7 (dhcp-config)#lease 7 – Specify the lease duration for the addresses you’re using from the pool.
Step 8 (dhcp-config)#exit – Exit Pool Configuration Mode.
This takes you back to the global configuration prompt.
Next, exclude any addresses in the pool range that you don’t want to hand out.
For example, let’s say that you’ve decided that all IP addresses up to .100 will be for static IP devices such as servers and printers. All IP addresses above .100 will be available in the pool for DHCP clients.
Here’s an example of how to exclude IP addresses .100 and below:
You must configure a password on the VTY lines, without one no one will be able to telnet to the switch/router.
The default mode when logging into a switch/router via telnet or SSH is user exec mode, which is indicated by the ‘>’ prompt.
To configure the switch/router you need to use the privileged EXEC mode. To do this you enter the enable command in user EXEC mode. The prompt is indicated with ‘#’.
If both enable secret and enable password are set, the enable secret will be used.
The enable secret is encrypted (by default) where as the enable password is in clear text.
In a config containing an enable secret 5 ‘hash’ the 5 refers to the level of encryption being used.
If no enable password/secret has been set when someone telnets to the device, they will get a ‘%No password set’ message. Someone with physical access must set the password.
To place all telnet users directly into enable mode:
configure terminal
line vty 0 4
privilege level 15
To put a specific user directly into privileged EXEC mode (enable mode)
username superman privilege 15 password louise
Telnet sends all data including passwords in clear text which can be intercepted.
SSH encrypts all data preventing an attacker from intercepting it.
Setting up a local user/password login database for use with telnet:
configure terminal
line vty 0 4
login local
exit
username telnetuser1 password secretpass
To set up SSH you need to create the local user database, the domain name must be specified with the ip domain-name command and a crypto key must be created with the crypto key generate rsa command. To enable SSH on the VTY lines, use the command transport input ssh.
If you connect two Cisco switches together and the lights don’t go amber then green, but instead stays off. A straight through cable has been used instead of a crossover cable.
The term ‘a switches management interface’ normally refers to VLAN1.
Assign a default gateway using the ip default-gateway ipaddress command.
You can use the command interface range fasterthernet 0/1 – 12 to select a range of interfaces to configure at once.
MOTD banner appears before login prompt.
The login banner appears before the login prompt but after the MOTD banner.
The banner exec appears after a successful logon.
line con 0 – configuring the logging synchronous on the console port stops the router from displaying messages (like an interface state change) until it detects no input from the keyboard and not other output from the router, such as a show commands output.
exec-timeout x y (x=minutes, y=seconds) – the default is 5 minutes. Can be disabled by setting x=0 y=0
Shortcut commands
Up Arrow – will show you the last command you entered. Control+P does the same thing.
Down Arrow – will bring you one command up in the command history. Control+N does the same thing.
CTRL+A takes the cursor to the start of the current command.
CTRL+E takes the cursor to the end of the current command.
Left arrow or CTRL+B moves backwards (towards the start) of the command one character at a time.
Right arrow or CTRL+P moves forwards (towards the end) of the command one character at a time.
CTRL+D deletes one character (the same as backspace).
ESC+B moves back one word in the current command.
ESC+F moves forward one word in the current command.
show history command will show the last 10 commands run by default.
the history size can be increased individually on the console port and on the VTY lines with the history size x command.
Config modes
config t R1<config> is the global configuration mode.
line vty 0 4 R1<config-line> is the line config mode.
Cisco Discovery Protocol(CDP) runs by default on Cisco routers and switches. It runs globally and on a per-interface level.
CDP discovers basic information about neighboring switches and routers.
On media that supports multicasts at the data link layer, CDP uses multicast frames. on other media, CDP sends a copy of the CDP update to any known data-link addresses.
The show cdp command shows CDP settings.
CDP can be disabled globally using the command no cdp run and re-enable using cdp run.
CDP can be disabled at an interface level using the no cdp enable command at the sub-interface level.
The command show cdp neighbor – lists one summary line of information about each neighbor. Including:
Device ID – the remote devices hostname.
Local Interface – the local switch/router interface connected to the remote host.
Holdtime – is the number of seconds the local device will retain the contents of the last CDP advertisement received from the remote host.
Capability – shows you the type of device the remote host is.
Platform – is the remote devices hardware platform.
Port ID – is the remote interface on the direct connection.
The command show cdp neighbor detail – lists one large set (approx 15 lines) of information, one set for every neighbor. Including:
The IOS version.
VTP management domain.
Management addresses.
show cdp entry name – lists the same information as the show cdp neighbors detail command, but only for the named neighbor (case sensitive).
show cdp – states whether CDP is enabled globally, and lists the default update and holdtime timers.
show cdp traffic – lists global statistics for the number of CDP advertisements sent and received.
show cdp interfacetype number – states whether CDP is enabled on each interface or a single interface if the interface is listed, and states the update and holdtime timers on those interfaces.
CDP should be disabled on interfaces it is not needed to limit risk of an attacker learning details about each switch or router. Use the no cdp enable interface subcommand to disable CDP and the cdp enable interface subcommand to re-enable it.
The command show cdp interface shows the CDP settings for every interface.
Interface status messages:
Interface status is down/down – this indicates a physical problem, most likely a loose or unplugged cable.
Line protocol is down, up/down – this indicates a problem at the logical level, most likely an encapsulation mismatch or a missing clock rate.
Administratively down – this indicates the interface has been shutdown and needs to be manually opened with the sub interface command no shutdown.
The command show mac-address-table shows the mac address table. show mac-address-table dynamic sows the dynamically learned entries only.
Most problems on a switch are caused by human error – misconfiguration.
The command show debugging shows all the currently running debugs.
undebug all – will turn all debugging off.
The command show vlan brief shows a switches VLAN configuration.
If pinging 127.0.0.1 fails on a pc, there is a problem with the local PC, most likely a bad install of TCP/IP.
On a pc the command netstat -rn shows the pc’s routing table.
Additional Telnet commands:
show sessions shows information about each telnet session, the where command does the same thing.
resume x, x being the session number is used to resume a telnet session.
To suspend a session use the command CTRL+ALT+6.
To disconnect an open session use the command disconnect x, x being the session number.
Ping result codes:
!!!!! – IP connectivity to the destination is ok.
….. – IP connectivity to the destination does not exist.
U.U.U – the local router has a route to the destination, but a downstream router does not.
debug ip packet – can help troubleshooting the above ping results.
When using traceroute or extended ping the Escape Sequence is: CTRL+SHIFT+6.
Extended ping can only be run from enable mode.
If a routing table contains multiple routes to the same destination with multiple next hops and the prefixes are different, the most specific (longest) prefix route will be used. If all of the prefix lengths are the same the Administrative Distance will be used. [AD/Metric].
Administrative Distance is a measure of a routes believability, with a lower AD being more believable than a route with a higher AD. AD only comes into play if the prefix lengths are the same.
You can set the Administrative Distance on a static route with the command ip route 55.55.55.0 255.255.255.0192.168.1.2 150, you would do this to set a backup route if a dynamic route fails/is not available in the routing table.