Setup Exchange Outlook anywhere or RPC/HTTP S

February 12th, 2010 by shiraj

To use the Exchange Management Shell to configure an external host name for Outlook Anywhere
set-OutlookAnywhere -Server:’CAS01′ -ExternalHostName:’site.contoso.com’
Procedure
Exchange 2007 SP1
To use the Exchange Management Shell to configure the authentication method to be the same for both the /rpc virtual directory in IIS and Outlook 2007
Set-OutlookAnywhere -Name Server01 -DefaultAuthenticationMethod <Basic or NTLM>

To use the Exchange Management Shell to configure authentication for Outlook Anywhere
Set-OutlookAnywhere -Name Server01 -ClientAuthenticationMethod Basic
To use the Exchange Management Shell to create a certificate request file
New-ExchangeCertificate -generaterequest -subjectname “dc=com,dc=yourdomain,dc=webmail,o=En Route Solutions Ltd,cn=webmail.yourdomain.com” -domainname webmail.yourdomain.com, yourexchange,yourexchange.yourdoamin.com, autodiscover.yourdomain.com -PrivateKeyExportable $true -path c:\certrequest_exch003.txt
use https://192.168.10.200/certsrv
selecet – request new certificate
select – advance then open c:\certrequest_exch003.txt using notepad copy the content and past and download the certificate.
To use the Exchange Management Shell to import a certificate
Import-ExchangeCertificate -path New-exchangecert01.cer -friendlyname “webmail YourExchange”
Import-ExchangeCertificate -path C:\Users\administrator.OFFICE\Desktop\certificate\cert-exchange061108.cer -friendlyname “webmail yourexchange”
To use the Exchange Management Shell to determine the thumbprint of your certificate
Get-ExchangeCertificate -DomainName “yourexchange”
This command will return multiple certificates if there are several certificates that match the host name that you specified. Therefore, make sure that you select the thumbprint of the correct certificate for your request.
9081AB3A19DF3F8511E80A9053D882944CA2AE2F
9AC212D376333E33232A240907878BA06A037D35  …..      DC=it, DC=yourdomain, DC=w…
To use the Exchange Management Shell to assign the certificate to IIS, POP3, and IMAP4
Enable-ExchangeCertificate -thumbprint <certificate-thumbprint> -services “IIS,POP,IMAP”
Enable-ExchangeCertificate -thumbprint 9081AB3A19DF3F8511E80A9053D882944CA2AE2F -services “IIS,POP,IMAP”
Import-ExchangeCertificate -path <certificate file name> -friendlyname “Contoso CAS01″ | enable-exchangecertificate -services “IIS,POP,IMAP”
NOTE: troubleshooting from outlook, control+right click on outlook icon on system tray, and run the test email autoconfiguration, and click the log
good Site for testing the connectivity https://www.testexchangeconnectivity.com/
RPCPING – should show the following.
C:\Users\administrator.OFFICE>rpcping -t ncacn_http -s yourexchange.yourdomain.com -o RpcProxy=webmail.yourdomain.com -P “shiraj,yourdomain,*” -H Basic -u NTLM -a connect -F 3

when works it shoud say:
Completed 1 calls in 60 ms
16 T/S or 60.000 ms/T The RPC Ping Utility test succeeded.
OR you get error like:
Enter password for RPC/HTTP proxy:
Exception 1722 (0×000006BA)
Number of records is: 2
ProcessID is 6656
System Time is: 11/7/2008 7:38:57:753
Generating component is 14
Status is 0×6BA, 1722
Detection location is 1398
Flags is 0
NumberOfParameters is 2
Long val: 0×4
Long val: 0×6ba
ProcessID is 6656
System Time is: 11/7/2008 7:38:57:753
Generating component is 13
Status is 0×6BA, 1722
Detection location is 1418
Flags is 0
NumberOfParameters is 0
C:\Users\administrator.yourdomain>
How to Use Basic Authentication and SSL to Connect to the Store’s Port
Syntax:
RpcPing –t ncacn_http –s ExchangeMBXServer -o RpcProxy=RpcProxyServer -P “user,domain,password” -I “user,domain,password” -H 1 –F 3 –a connect –u 10 –v 3 –e 6001
How to Use Basic Authentication, SSL, and Mutual Authentication to Connect to the Store’s Port
Syntax:
RpcPing –t ncacn_http –s ExchangeMBXServer -o RpcProxy=RpcProxyServer -P “user,domain,password” -I “user,domain,password” -H 1 –F 3 –a connect –u 10 –v 3 –e 6001 –B msstd:server_certificate_subject
How to use NTLM Authentication and Non-SSL to Connect to DsProxy Service
Syntax :
RpcPing –t ncacn_http –s ExchangeMBXServer -o RpcProxy=RpcProxyServer -P “user,domain,password” -I “user,domain,password” -H 2 –F 2 –a connect –u 10 –v 3 –e 6004
when works it shoud say:
Completed 1 calls in 60 ms
16 T/S or 60.000 ms/T The RPC Ping Utility test succeeded.
If its not working it will give the error and each error means:
Exception 1722 (0×000006BA)
RPC Server is unavailable The RPC service cannot be contacted. You may receive this response because there are problems with the RPC Proxy server (if this is the case, you can use the –E argument to verify that the RPC Proxy server is available), because the service stopped on Exchange 2003 backend server (for example store), because the Exchange 2003 backend server is down, because the ValidPorts registry key does not permit access to this server, because the ValidPorts registry key does not permit this port, because you tried to to access the EMP when it was not published (neither the –e switch or port 593 were available), or because you tried to access UUID when EMP was not published (for example, you used the –a switch without port 593 being available.).
Exception 5 (0×00000005)
Access denied. You receive this response when you have incorrect –P credentials, you have incorrect –I credentials, if the user account is disabled, or if the Mutual Authorization failed. For more details about this response, use the –E argument.

To verify that the CA certificate is published correctly in Active Directory, run the following command

c:\>certutil -viewstore “ldap:///CN=RootCA,CN=Certification Authorities,CN=Public Key Services,CN=Services,CN=Configuration,DC=officer,DC=enrout,DC=com?cACertificate?base?objectClass=certificationAuthority”

http://msexchangeteam.com/archive/2008/06/20/449053.aspx

[PS] C:\Windows\System32>

rpcping -t ncacn_http -s yourexchange -o RpcProxy=mail.yourdomain.co.uk -P “Administrator,YourDomain,*” -I “Administrator,YourDomain,*” -H 1 -F 3 -a connect -u 10 -v 3 -e 6004
RpcPing –t ncacn_http –s yourexchange -o RpcProxy=mail.yourdomain.co.uk -P “Administrator,yourdomain,password” -I “Administrator,Wilks-headyourdomainpassword” -H 1 –F 3 –a connect –u 10 –v 3 –B msstd:mail.yourdomain.co.uk
C:\Users\Administrator.yourdomain>rpcping -t ncacn_http -s exchange -o RpcProxy=mail.yourdomain.co.uk -P “Administrator,yourdomain,*” -I “Administrator,yourdomain,*” -H 1 -F 3 -a connect -u 10 -v 3 -e 6004
[PS] C:\Windows\System32>

[PS] C:\Windows\System32>Set-OABVirtualDirectory -identity “Exchange\OAB (Default Web Site)” -externalurl https://mail.yourdomain.co.uk/OAB -RequireSSL:$true

[PS] C:\Windows\System32>

[PS] C:\Windows\System32>Set-WebServicesVirtualDirectory -identity “EXCHANGE\EWS (Default Web Site)” -externalurl https://mail.yourdomain.co.uk/EWS/Exchange.asmx -BasicAuthentication:$True

OutlookAnywhere work internally but don’t work from Externally, this could be problem with IPv6 and DNS. On testing of Outlook connection internally directory services are using TCP/IP and rest using HTTPS. by applying the fix below resolved the problem.

[PS] C:\Windows\System32>

I fixed the problem by editing the host file in c:\windows\system32\drivers\etc on the 2008 server hosting Exchange:

127.0.0.1           localhost
#::1                 localhost
10.0.x.x             yourexchange
10.0.x.x             yourexchange.internal.FQDN

Notice the hash mark in front of the IPV6 address for the local host and added two entries, the netbios name and the FQDN of the exchange server and its internal IP addresss.
- In IIS changed the Autodiscover folder authentication to Windows Authentication
- Tested the Autodiscover using Test-OutlookWebservices.
[PS] C:\Windows\System32>Test-OutlookWebServices -Identity Administrator | format-list

- changed OAB settings in Exchange to point to external url.

OutlookAnywhere work internally but don’t work from Externally, this could be problem with IPv6 and DNS. On testing of Outlook connection internally directory services are using TCP/IP and rest using HTTPS. by applying the fix below resolved the problem.
[PS] C:\Windows\System32>
I fixed the problem by editing the host file in c:\windows\system32\drivers\etc on the 2008 server hosting Exchange:
127.0.0.1           localhost
#::1                 localhost
10.0.x.x             ummexc01
10.0.x.x             ummexc01.ummnorva.local
Notice the hash mark in front of the IPV6 address for the local host and added two entries, the netbios name and the FQDN of the exchange server and its internal IP addresss.

OutlookAnywhere work internally but don’t work from Externally, this could be problem with IPv6 and DNS. On testing of Outlook connection internally directory services are using TCP/IP and rest using HTTPS. by applying the fix below resolved the problem.
[PS] C:\Windows\System32>
I fixed the problem by editing the host file in c:\windows\system32\drivers\etc on the 2008 server hosting Exchange:
127.0.0.1           localhost#::1                 localhost10.0.x.x             ummexc0110.0.x.x             ummexc01.ummnorva.local

Notice the hash mark in front of the IPV6 address for the local host and added two entries, the netbios name and the FQDN of the exchange server and its internal IP addresss.

Cisco IOS Upgrade

February 2nd, 2010 by shiraj

There are some nasty, nasty SNMP vulnerabilities that have recently been revealed. Many different products are affected. See the CERT Advisory Here. This inspired us to upgrade our Cisco. To upgrade the IOS on your Cisco router, you have a couple of options. You can either upgrade via TFTP, or you can use the console. We used a 1600 router, so the procedure below is quite specific. Your mileage may vary.

To use TFTP, you need to download and install TFTP. Here is one source for TFTP. This version also works fine on XP.

First of all, before you touch anything, you should list your configuration using the command:

show config

Print your config to paper, just in case. Your config should stay during the IOS upgrade, but you never know what could happen. You may want to make sure you have console access to the router, as well as the ability to connect to it via the ethernet port. You can temporarily change the address on the ethernet port if you wish by entering:

conf term

At the (config)# prompt select the interface:

int eth0

then

ip address x.x.x.x y.y.y.y

where x is the ip address and y is the subnet mask. Use the earlier show config command so you can set it back when you are done. You could also enter a secondary address instead. Whatever you like.

You can find out what the name of your current flash image is by:

show flash

The next thing you should do is copy your current image (flashimage) up to the TFTP server:

copy flash:flashimage tftp://ipaddress/flashimage

You should see an entry like this in the log of your tftp server:

Receiving 'flashimage' file from x.x.x.x in binary mode

Copy your current image twice if you wish, to different file names, just to be safe. Browse Cisco to be very sure you have the right image. If you load the wrong image of IOS, your router won’t work. Pay attention to the amount of RAM your system has, and how much the upgraded IOS needs. IOS 12.2 needs more RAM than 12.0, and Cisco isn’t lying about this. When you are happy you have the right image:

delete flashimage
copy tftp://ipaddress/flashimage flash:flashimage

You will be asked if you want to erase the current image. Say yes. When it is done loading, change your eth0 IP if needed, and remove any old boot references:

conf term
no boot system flash oldflashimagename
boot system flash flashimage
exit

Now copy your config:

copy running-config startup-config

Reload, and you are set:

reload

Now, when you reboot all should come up ok. If it doesn’t, you will have to use the console port and xmodem to load an image that does work, and this is painful. Here is how to do it.

Pretty much, you just hit ctrl-break (At least with the version of HyperTerminal we used) when the router boots to get into rommon. Minicom or other terminal programs may have different sequences. Try ctrl-c, esc, etc. After you successfully enter rommon, you just:

rommon> xmodem -cf fileimagename

then, from your terminal program, send the file using xmodem. On our 1600, we had to do this at 9600 baud. We couldn’t figure out how to change our router to transfer faster than 9600, although we did see some references to how to do it. At 9600 baud, it takes about 50 minutes to reload IOS. After you are done uploading the image, remove the old boot references and copy config to start as above. If all else fails, you could go back to the flash image that you copied via TFTP.

Connect a Cisco 837 router to BT ADSL

January 28th, 2010 by shiraj

Connect a Cisco 837 router to BT ADSL

Summary: A guide to setting up a Cisco 837 ADSL router to work with a ADSL Broadband service over a BT line. Examples of broadband services where this works are BT Broadband , Eclipse Broadband or NewNet Broadband and most ADSL over BT lines. Be careful when choosing your router that you ensure you get an ADSL router (PPPoA) if you have a BT phoneline style broadband or make sure you get a DSL router (PPPoE) if you have the NTL ethernet type. The guide should also work for the Cisco SOHO 97 router or and other cisco routers that support ADSL.

Target Audience: Anyone who wishes to use a more robust and functional router for their ADSL / broadband connection.

Scenarios:: If you have an ADSL service account that gives more than one public or static IP address. Using a Cisco 837 (and most Cisco routers with broadband ADSL) router you can use each of the IP addresses that your ISP broadband provider has given you. This is great for people who want to host their own mail or web servers. This is especially useful if you are using SSL because SSL generally requires that each website has its own dedicated IP address . Another good use is if you have a remote device such as a web camera or reboot PDU that might require it’s own public IP address. With some broadband connections you can get multiple public ip addresses for example BT business broadband you get 5 usable addresses.

Pros: Robust Router, Allows multiple IP public / WAN addresses, It can be good lesson and will assist learning Cisco IOS if you are an IT network person who is interested in this area.

Cons: More Expensive than a domestic or ‘house wife’ router from Netgear or D-Link etc. The router is not plug and play and requires more setup. The web based interface is very slow and virtually pointless so you have to get your hands dirty and enter command line statements.

Where to pick up Cisco router 837 up cheaply: You guessed it – E-bay. E-bay is full of IT professionals who are selling surplus or ‘aquired’ routers they have left over from projects or upgrades. Make sure they give you the enable password or better still reset it to default configuration and the Cisco serial cable (blue in colour normally) if you don’t have one.

Installing the Router

Step 1 Physically Installing the router.

The router is light weight and is not physically big. It is not rack mountable type of router so can be put on a shelf or on a cupboard. Plug in the ADSL or WAN cable into the ADSL or WAN socket labelled (6) on the below diagram and the other end into the microfilter BT socket which has the ADSL enabled.

Plug the Blue Serial cable into the back of your PC. Warning Modern laptops have done away with RS232 serial ports and just give you USB ports. You will need an RS232 type serial port to configure this router – but you can get USB to RS232 converters. Plug the other end into the console port on the back of the Cisco 837 router. You will also need to make a note of the com port you are using.

Cisco 837 Rear

Power on the Cisco router – plug in the mains ideally into a power surge protecter if you have one (these routers aren’t cheap). And power it on with the on / off rocker switch at the back of the router.

Plug your PC’s ethernet adapter into one of the built in 4-port switch ports on the back of the Cisco 837. Assign an IP address to your PC’s ethernet work adapter. In this example my PC has an address of 192.168.1.10. Also assign a valid Internet name server or DNS server to your PC so your computer can resolve domain names such as www.google.com or www.davidstclair.co.uk.

Step 2 Setting up the Link to PC and the Router

Now your router has been physically connected to the ISP network and to your PC you are ready to configure it to talk to the PC.

Fire up a Hyper Terminal Session (or what ever your prefered Terminal Emulator Procomm/ PUTTY works just as good). Create a new Hyperterminal connection and set the settings to be choose the com port your Cisco cable is plugged into and set up the com properties like so:
Bits per sec : 9600
Data bits : 8
Parity : none
Stop bits : 1
Flow control : none

Hyper Terminal

Click okay and then hit return or enter on your PCs keyboard a couple of times. You should see a router> prompt
To alter the routers configuration we need to enter privileged mode to do that with your HyperTerminal session prompt type

enable {hit return}

You will be prompted to enter a password. If the router is at it’s factory defaults it will have no password and just hitting return key will do it. If it is not a fresh build enter the password (known as the enable password or secret password if it is using the more secure password)

Now erase the existing configuration to make sure it is nice and fresh for you to setup.

write erase {hit return}

Now reboot the unit:

reload

After a moment the router will restart
Now type

enable {hit return}

to enter privileged mode and go into configuration mode to begin configuring the router from the terminal (your hyper terminal session)

configure terminal {hit return}

Issue the command below to set a password, replace the word SECRETSQUIRRELPASSWORDYOUCHOOSE with one of your own

enable secret SECRETSQUIRRELPASSWORDYOUCHOOSE {hit return}

Setup the Ethernet interface. The following command will set your routers IP address. Set it to an IP address suitable for your network -i.e one that matches your PC. My PC is set to 192.168.1.10 so I will set this router to be the 192.168.1.1 and then return to my PCs network config and make sure my PC uses 192.168.1.1 as its default gateway. I will also use the “ip nat inside” command to let my internal PC which has an RFC1918 non publicly routable address connect to the internet.

This command will take you into ethernet0 editing mode

interface Ethernet0

These commands will configure the interface

Description Ethernet
ip address 192.168.0.1 255.255.255.0
no ip redirects
no ip unreachables
no ip proxy-arp
ip nat inside

exit this interface configuration mode

exit

Now setup the ATM interface (the broadband internet facing interace that plugs into the BT line). On the line pcv 0/38 you may have to change this to one your ISP provides you with.

interface ATM0
no ip address
no ip redirects
no ip unreachables
no ip proxy-arp
no atm ilmi-keepalive
dsl operating-mode auto
pvc 0/38
encapsulation aal5mux ppp dialer
dialer pool-member 1

exit this interface configuration mode
exit

Now setup the virtual interface called dialer0. This is where you actually put in the login details provided by your ISP. Unlike some leased lines such as an E1 or framerelay you may have setup before, you actually have to provide a chap password for the connection to work. In fact it is a bit like the ISDN routers you may have setup in the past. Remember to change the ppp chap lines in my example to suit YOUR broadband account connection details
interface Dialer0
ip address negotiated
ip virtual-reassembly
encapsulation ppp
dialer pool 1
dialer-group 1
no cdp enable
ppp authentication chap callin
ppp chap hostname myuser@adsl.user.name.com
ppp chap password 0 adslpassword

NOTE! Some ISPs require some additional chap settings. If when you type in
show ip int d0

You receive a message about ‘ip address will be assigned’ but no actual ip address has been assigned as yet you may need these additional commands:
ppp pap sent-username myuser@adsl.user.name.com 0 adslpassword
ppp ipcp mask request
ppp ipcp route default
ppp ipcp address accept

exit this interface configuration mode
exit

Setup the default route so traffic fot the net goes out via the “dialer” interface
ip route 0.0.0.0 0.0.0.0 Dialer0

Setup the NAT to allow enable traffic to pass
ip nat inside source list 1 interface Dialer0 overload

From your PC try to connect to a website

If it worked you are in business.

Write the configuration to NVRAM to the router so the device will not forget it when it is rebooted
write mem

Your Out of Office settings cannot be displayed

January 14th, 2010 by shiraj

Your Out of Office settings cannot be displayed…what’s wrong?
Exchange 2007Ever seen this error message when you try to run the Out of Office assistant from within Outlook 2007? “Your Out of Office settings cannot be displayed, because the server is currently unavailable. Try again Later.”

You will notice this with mailboxes homed on Exchange 2007 mailbox servers, using Microsoft Office Outlook 2007.  When you try to set the Out of Office assistant using Outlook Web Access, it works just fine, as can be seen below:

But what can cause this problem?

Reason 1: Wrong Autodiscover Service settings
Reason 2: Wrong certificate
Reason 3: Wrong permission settings on the EWS virtual directory.
Reason 4: Logged on with another user account

Let’s review all these reasons, and possible solutions.

Reason 1: Wrong Autodiscover Service settings

To review the settings retrieved by Outlook 2007, click on Ctrl and right-click the Outlook symbol in the System Tray, this will allow you to check the Autoconfiguration settings, as can be seen below:

If you see a wrong URL listed, like one that isn’t reachable for the client, you can change the URL by using the Exchange Management Shell cmdlet Set-WebServicesVirtualDirectory.

Reason 2: Wrong certificate
You should make sure that the certificate is a valid one, and is listed as the certificate its common name, or is one of the SAN on the certificate.
Check the URL, and check the certificate as can be seen below:

If you want to create a  new certificate including all the necessary domain names, have a look at this great tool to help you:
https://www.digicert.com/easy-csr/exchange2007.htm

Reason 3: Wrong permission settings on the EWS virtual directory.
Out of Office assistant does not work if in IIS, the anonymous user has received permission on the EWS virtual directory! So remove the Anonymous user, and run IISRESET to restart IIS.

Reason 4: Logged on with another user account
If all other reasons are not causing the problems, you may want to check this one.  If you open the mailbox of user X, while logged on as user Y, your Out of Office assistant will not work, even if you have provided the credentials of user X when starting Outlook 2007! You will need to log on as user X, or you will need to start Outlook 2007 and run it as user X :-)

changing windows key for activation

December 20th, 2009 by shiraj

Click Start, and then click Run.
In the Open box, type regedit, and then click OK.

In the navigation pane, locate and then click the following registry key:
HKEY_LOCAL_MACHINE\Software\Microsoft\WindowsNT\Current Version\WPAEvents

In the topic pane, right-click OOBETimer, and then click Modify. Change at least one digit of this value to deactivate Windows.

Click Start, and then click Run.
In the Open box, type the following command, and then click OK.
%systemroot%\system32\oobe\msoobe.exe /a

Click Yes, I want to telephone a customer service representative to activate Windows, and then click Next.
Click Change Product key.
Type the new product key in the New key boxes, and then click Update.

If you are returned to the previous window, click Remind me later, and then restart the computer

Setup DFS and DFS replication

December 20th, 2009 by shiraj

http://www.windowsnetworking.com/articles_tutorials/Configuring-Using-DFS-Replication.html

 

http://www.windowsnetworking.com/articles_tutorials/Implementing-DFS-Replication.html

 

Hacking Apple TV Take 2 Tutorial

October 4th, 2009 by shiraj

Hacking Apple TV Take 2 Tutorial

Here is a little tutorial on how to Hack your Apple tv, to run Boxee, XBMC and enable a external-hard-drive.
This tutorial is an alternative to atvflash and is completely free!
After you hacked you apple TV with this you can play the following video formats:
- AVI, DivX, Xvid, FLV, WMV, RM and RMVB
- MKV formats supported up to 480p resolution (hardware limited)
- MPEG-1, MPEG-2, MPEG-3 and MPEG-4
- DVD files (VIDEO_TS/VOB)
- AVI support for: AAC, AC3 Audio, H.264, MPEG4, and VBR MP3
- Subtitle support for SSA and SRT

We will install:
- FTP/SFTP/SSH Access – Transfer files to and from the AppleTV
- NitoTV – Play DVD files, enable USB storage and much more
- XBMC – A fully customizable media center software
- Boxee – Watch and share media with your friends
- Sapphire 6.5 – Play and organize media using IMDB database

What you need:
- AppleTV running software v2.3 or later
- Mac running OS X v10.4 or later
- USB Flash Drive – sized 256MB – 2GB recommended drives
- Internet connection

Step 1: Make a usb patchstick
(AppleTV Firmware Download Locations http://www.iclarified.com/entry/index.php?enid=970)

First we need to download the uber USB flash drive creator for the AppleTV, witch can be found onhttp://code.google.com/p/atvusb-creator/The usb flash drive creator will make a patchstick that enables SSH on your Appletv (so you can access the apple tv’s file structure) and installs Boxee and XBMC. The creation of the patchstick is pretty straight forward, just follow the onscreen instructions.

atvusb-creator

Step 2: Install the patchstick
1) turn of your apple tv (unplug the power)
2) Place the patchstick in the apple tv
3) Turn on your appletv (wait for the patchstick to do its thing)

patch your apple tv

4) After a minute or the patch should be installed (wait for instructions on your screen)
5) Remove the patchstick and restart your Apple TV.

Boxee, XBMC and SSH should now be installed and enabled on your Apple TV.

Step 3: Access your Appel TV
Because we enabled SSH on the Apple TV , we can now remotely access the Apple TV with Coda or Cyberduck on your Mac computer.
In coda (or an other SSH application) connect to the Apple TV via:
1) Select SFTP (SSH)
2) server: yourappletvip (or the ip-adress of your Apple TV)
3) username: frontrow
4) pass: frontrow
5) Press Connect (you will get access to the Apple TV)

Step 4: Enable external USB drives
Now we have remote access to the Apple TV we can enable external USB drive support.
We will do this by installing NitoTV.

You will need to download Nito tv to your Mac. Download.
(check for latest version on http://wiki.awkwardtv.org/wiki/NitoTV_Take_2)

1) Download Nito tv and unzip.
2) With Coda or Cyberduck login to your Appel TV and copy the content of the nito TV folder (installme and nito TV ) to the Apple TV
3) With the terminal Application>utilities> terminal login into the Apple TV.
4) ssh frontrow@yourappletvip
5) When prompted for a password, enter ‘frontrow’.
6) Now go to the directory where you placed Nito TV on your AppleTV and type the following command:
sudo ./installme (When prompted for a password, enter ‘frontrow’ again.)
7) Now restart your Apple TV. Now Nito tv is installed

Go To Nito tv and Install Smart Installer

That’s It, you can now watch almost any kind of video with your apple TV and use external hard-drives!

source: http://dannyruchtie.nl/index.php/2009/07/hacking-apple-tv-tutorial/comment-page-1/#comments
source 2: http://wiki.awkwardtv.org/wiki/NitoTV_Take_2
source 3: http://www.iclarified.com/entry/index.php?enid=970

, ,

Barracuda Spam Firewall Root Password

September 30th, 2009 by shiraj

Barracuda Security? Almost like it was written by a couple of dickheads in their dens. Here’s how its done

BIOS PASSWORDS;
BIOS PW: 322232 32232 BCNDK1 ADMINBN99
DEFAULT PASSWORD (GUI) admin or adminbn99
RAID PASSWORD 0000

Barracuda Spam & Virus Firewall Notes – How to get full root access;

Log in using single users mode – to do this;
a. Power On/reboot
b. At lilo prompt (barracuda splash) quickly hit the tab key
c. Type: Barracuda init=/bin/bash
d. The password is: bimg

You are now booted into single user mode with full root access. Whist
this is limited it will still allow you to remove the barracuda root
password easily. This is done by simply removing it from the /etc/shadow
file for the root user. It can easily be changed afterwards. Be aware
that the Barracuda has a ‘recovery’ partion (3) and it will make sense to
clear the password on this partion too.

Starting with partion 1 (the main ‘running’ partition). In single user
mode it may not mount properly. It can often end up as read only yet
mount -l it states rw. This causes all sorts of wiredness when writing
files, so save any heartache and remount it rw like this;

mount -o remount, -rw /dev/ide/host0/bus0/target0/lun0 /
{if you are using SATA drives they are probably going to be under /dev/
scsi/host0/bus0/target0/lun0/ or software raid /md}

The main /etc/shadow file gives write issues the file system is not
properly mounted, so the root user is not able to force overwrite of the
file. The above remount command fixes that. You can now edit it and force
the writing with the ! operator.

Here is how to edit it;

vim /etc/shadow

move cursor to first line for the root user.

Switch to insert mode by pressing the [i] key

Put cursor at start of password and use the delete key to remove the
encrypted password between the first and second colon  - typically
looking like this- $1$2NVlp7G0$EoDgfwGBkSb/LOe7VgfQP/

Make sure you leave the the two colons in place, so the line looks
similar to this- root::12277:0:99999:7:::

Switch VIM to command mode by pressing [ESC]

Write the file with the override option by typing

:w!

Then quit

:q

If you cant do this, check you remounted the file system correctly as
detailed above.

Next we do the same for the recovery partition 3 /etc/shadow password
file. Mount partition 3 so we can edit the file. The mount directory /mnt/
hd should already exist from the building of the appliance (ls -l /mnt to
check – if not mkdir /mnt/hd)

Mount it (again assuming IDE here – modify you path accordingly)
mount /dev/ide/host0/bus0/target0/lun0/part3 /mnt/hd

Repeat the editing on this file /mnt/hd/etc/shadow

When you are done you can unmount it;
umount /dev/ide/host0/bus0/target0/lun0/part3

Finally, stop the barracuda with this command:

halt -fp

When you reboot the unit normally you will be able to log in with
username ‘root’ and no password at the Barracuda log-in prompt. To set a
fresh root password after logging in as root, just issue the ‘passwd’
command and set it to something suitable. Upgrading firmware does not
currenlty overwrite this hack so it’s a set and forget (tested up to
version 4.0.0.31)

Your Barracuda is now fully open an unlocked for root access. What
follows is a list of changes you can make and some security notifcations:
————————————————————————— ———–
First of all Barracuda and the ‘port 25′ redirect. Old versions of the
Barracuda left a nice back door open for support. Port 25 was redirected
to port 22 SSH and 8000 for a Barracuda ranges. As you are not really
likely to have port 25 closed it was a serious back door to leave open.
This has been removed (other back doors may be open) but check by looking
at this file:

/etc/sysconfig/iptables
You don’t want to see this;
-A PREROUTING -s 205.158.110.61 -p tcp -m tcp –dport 25 -j REDIRECT –to-
ports 22
-A PREROUTING -s 205.158.107.65 -p tcp -m tcp –dport 25 -j REDIRECT –to-
ports 8000
If you do comment them out with a #

Whilst in this file you can block all port 22 access from Barracuda by
commenting (#) out:
-A INPUT -s 205.158.110.0/255.255.255.0 -p tcp -m tcp –dport 22 -j
ACCEPT
-A INPUT -s 205.158.110.0/255.255.255.0 -p tcp -m tcp –dport 22 –tcp-
flags SYN,RST,ACK SYN -j ACCEPT

You can also alter the ranges to allow *you* port 22 ssh access from your
local or remote network, just edit one of these line to suit or add your
own;

-A INPUT -s 192.168.200.0/255.255.255.0 -p tcp -m tcp –dport 22 -j
ACCEPT
-A INPUT -s 192.168.200.0/255.255.255.0 -p tcp -m tcp –dport 22 –tcp-
flags SYN,RST,ACK SYN -j ACCEPT

When updating firmware these changes are *lost* so don’t forget to put
them back if you don’t want strangers poking aroung in your Barracuda.

To restart IP tables on the barracuda, just do this;
/etc/init.d/iptables stop; /etc/init.d/iptables start;
————————————————————————— ———–
To read or reset the GUI password
READ:
config_read system_password
CHANGE:
config_change system_password chosen_new_password
————————————————————————— ———–
To add features to a lower spec machine GUI just ‘touch’ ‘ any of these
files; This will add the feature.
EXAMPLE;
touch /etc/barracuda/multiple_ip

/etc/barracuda/syslog (Advanced -> Syslog tab)
/etc/barracuda/explicit_user_config (Advanced -> Explicit Users tab)
/etc/barracuda/exchange_accelerator (MS Exchange Accelerator)
/etc/barracuda/trusted_relays (Advanced -> Rate Control tab)
/etc/barracuda/multiple_ip (Advanced -> Advance IP Configuration tab)
// static routes etc
/etc/barracuda/clustering (Advanced -> Clustering tab)
/etc/barracuda/auth (Advanced -> Single Sign-On)
/etc/barracuda/api (Basic -> Administration -> API/SNMP section)
/etc/barracuda/plugin (Basic -> Bayesian/Fingerprinting -> Mail plug-in)
/etc/barracuda/per_domain (Domains tab)
/etc/barracuda/per_user_scores (Per-User scoring)
/etc/barracuda/ldap_routing (Advanced -> LDAP Routing) (3.5.11 and
above only) (600s and above only)
————————————————————————— ———–
To change the serial number / identity.
The backend Barracuda system is really lame at this time. Almost like it
was written by a couple of dickheads in their dens. This means you can
pretty much try random five and six figure serial numbers and get free
updates when you hit a good one. TIP; keep a lookout on eBay for people
stupid enough to sell them showing the serial number and advertising them
with a remaining subscription. Forget matching up the MAC address to the
system – they managed to screw that notion up. The PHYSICAL MAC is never
properly recorded (and at Jan of 2009 still was not). This is read from a
text file that can be set to anything you like. The only real restriction
comes from a simple geo lookup on your IP when you connect to Barracuda.
Domestic US units being used outside of the USA will fail with CODE -4
(you can always try an HTTP proxy or another serial number). Changing the
password involves changing a few files and a couple of database entries.
This is easy to script with this tested perl script that also backs up
the current settings:

<START OF SCRIPT>
#!/usr/bin/perl -w
use DBI;
my $newserial = “12″;
my $newmodel = “120″;
my $newmac = “GG:GG:GG:GG:GG:GG”;
my $current_model = “”;
my $keypress = “”;
my @oldmachine =();
my @machinearray =();
my @result= ();
my $dsn = “”;
my $dbn = “”;
my $sth = “”;
my $sql = “”;
my $a1 = 0;
my $xx = 0;
my $shell_command =”";
my $count = 0;
my $database = “config”;
my $hostname = “localhost”;
my $port = “3306″;
my $db_username = “root”;
my $db_password = “none”;
print “\n*************************************************\n”;
print “*  Barracuda Serial Number & Model Changer  v1  *\n”;
print “*************************************************\n”;
while (1) {
print “\nenter new serial (or k to keep existing | x to exit): “;
$keypress = <STDIN>;
chomp ($keypress);
if ($keypress =~ /\D/){
if (($keypress eq “k”) || ($keypress eq “K”)) {
last;
}
if (($keypress eq “x”) || ($keypress eq “X”)) {
exit;
}
print “\n! Error ! – numeric input only
please\n”;
next;
}
if ($keypress >99 && $keypress < 1000000) {
$newserial = $keypress;
last;
} else {
print “\n! Error ! – check serial number is
within correct range\n”;
next;
}

}

while (1) {
print “\nenter new model (or k to keep existing | x to exit): “;
$keypress = <STDIN>;
chomp ($keypress);
if ($keypress =~ /\D/){
if (($keypress eq “k”) || ($keypress eq “K”)) {
last;
}
if (($keypress eq “x”) || ($keypress eq “X”)) {
exit;
}
print “\n! Error ! – model number is bad
try again\n”;
next;
}
if ($keypress ==100 || $keypress ==200 ||
$keypress ==300 || $keypress ==400 || $keypress ==600 || $keypress
==800)  {
$newmodel = $keypress;
last;
} else {
print “\n! Error ! – check model number is within
correct range\n”;
next;
}

}

while (1) {
print “\nenter new mac (or k to keep existing | x to exit):”;
$keypress = <STDIN>;
chomp ($keypress);
if ($keypress =~ /[0-9A-Fa-f][0-9A-Fa-f]\:
[0-9A-Fa-f][0-9A-Fa-f]\:[0-9A-Fa-f][0-9A-Fa-f]\:[0-9A-Fa-f][0-9A-Fa-f]\:
[0-9A-Fa-f][0-9A-Fa-f]\:[0-9A-Fa-f][0-9A-Fa-f]/){
$newmac = $keypress;
last;
} else {
if (($keypress eq “k”) || ($keypress eq
“K”)) {
last;
if (($keypress eq “x”) || ($keypress eq
“X”)) {
exit;
}
print “\n! Error ! – check mac address
and try again\n”;
next;
}
}

}

print “\n*************************************************\n”;
print “*  Checking current config and updating…….  *\n”;
print “*************************************************\n”;
$dsn = “DBI:mysql:database=$database;host=$hostname;port=$port”;
$dbh = DBI->connect($dsn, $db_username ) or die(“fatal error – could not
connect to backend database.”);
$sql=”SELECT * FROM config WHERE variable like ’system_serial’;”;
$sth = $dbh->prepare($sql);
$sth->execute or die “SQL Error: $DBI::errstr\n”;
if ($sth->rows) {
@row = $sth->fetchrow_array;
if (@row) {
push(@oldmachine, $row[1]);
print “CURRENT DATABASE SERIAL:
” . $oldmachine[0] . “\n”;
} else {
die(“fatal error – unable to find
current serial number in databasee.”)
}

};

$shell_command = `ifconfig -a`;
if(($shell_command =~ /eth\d.*HWaddr.*\d/)){
$shell_command =~ m/\b..\:..\:..\:..\:..\:..\b/;
$shell_command = uc($&);
} else {
$shell_command = “UNKNOWN”;
}
push(@oldmachine, $shell_command);
print “CURRENT ACTUAL MAC: ” . $oldmachine[1] . “\n”;
if (-e “/home/remote/backup”) {
unless (-d “/home/remote/backup”) {
die “MCF File exists but is not directory”;

}
}

else {
mkdir(“/home/remote/backup”, 0777) or die “Can’t make directory: $!”;

}

if (-e “/root/machine$oldmachine[0]“) {
print “\nMachine File found – backing up;\n”;
$shell_command = `cp /root/machine$oldmachine[0] /home/remote/
backup/`;
print “CONTENTS OF CURRENT MACHINE FILE:\n”;
open (FILE, “/root/machine$oldmachine[0]“);
while (<FILE>) {
chomp; #cut off /n newlines from the end of each line
next unless /\S/; # if the file line is blank move on – we don’t
need blank lines
$member = $_;
print $member . “\n”;
if (($member =~ /serial_number/) && ($newserial ne “12″)){
push (@machinearray, “serial_number $newserial”);
next;
}
if (($member =~ /mac_address/) && ($newmac ne
“GG:GG:GG:GG:GG:GG”)){
push (@machinearray, “mac_address $newmac”);
next;
}
if($member =~ /model \d\d\d/) {
$current_model = $member;
$current_model  =~ /\d\d\d/;
$current_model = $&;
if($newmodel ne “120″){
push (@machinearray, “model $newmodel”);
next;
}
}
push (@machinearray, $member);

}

close (FILE);
# now write the new machine file
print “\nPOPULATE NEW MACHINE FILE\n”;
foreach $member(@machinearray)
{
$fileout .= “$member\n”;

}

print $fileout;
open FILE, “>/root/machine$newserial”;
print FILE “$fileout”;
close (FILE);

}

if (-e “/etc/barracuda/serial”) {
print “\nBarracuda Serial File found – backing up\n”;
$shell_command = `cp /etc/barracuda/serial /home/remote/backup/`;
print “CONTENTS OF SERIAL FILE: “;
open (FILE, “/etc/barracuda/serial”);
while (<FILE>) {
chomp;
next unless /\S/;
print $_ . “\n”;

}

close (FILE);
if($newserial ne “12″) {
print “\ndebug – newserial is NOT EQUAL to 12 :>$newserial<:\n”;
open FILE, “>/etc/barracuda/serial”;
print FILE “$newserial\n”;
close (FILE);
print “Overwritten /etc/barracuda/serial with:\n”;
open (FILE, “/etc/barracuda/serial”);
while (<FILE>) {
chomp;
next unless /\S/;
print $_ . “\n”;
}
close (FILE);
}

}

if (-e “/etc/barracuda/model”) {
print “\nBarracuda model File found – backing up\n”;
$shell_command = `cp /etc/barracuda/model /home/remote/backup/`;
print “CONTENTS OF MODEL FILE: “;
open (FILE, “/etc/barracuda/model”);
while (<FILE>) {
chomp;
next unless /\S/;
print $_ . “\n”;

}

close (FILE);
if($newmodel ne “120″) {
open FILE, “>/etc/barracuda/model”;
print FILE “$newmodel\n”;
close (FILE);
print “Overwritten /etc/barracuda/model with:\n”;
open (FILE, “/etc/barracuda/model”);
while (<FILE>) {
chomp;
next unless /\S/;
print $_ . “\n”;

}

close (FILE);
}

}

if (-e “/etc/cudamodel”) {
print “\nBarracuda cudamodel found – backing up\n”;
$shell_command = `cp /etc/cudamodel /home/remote/backup/`;
#read serial file
print “CONTENTS OF cudamodel: “;
open (FILE, “/etc/cudamodel”);
while (<FILE>) {
chomp;
next unless /\S/;
print $_ . “\n”;
}
close (FILE);
if($newmodel ne “120″) {
open FILE, “>/etc/cudamodel”;
print FILE “$newmodel\n”;
close (FILE);
print “Overwritten /etc/cudamodel with:\n”;
open (FILE, “/etc/cudamodel”);
while (<FILE>) {
chomp;
next unless /\S/;
print $_ . “\n”;

}
close (FILE);
}
}

$shell_command = `mysqldump –user root config >/home/remote/
backup/database.sql`;
if ($newserial ne “12″) {
$sql=”update config set value = “. $newserial . ” where variable
like ’system_serial’;”;
$sth = $dbh->prepare($sql);
$sth->execute or die “SQL Error: $DBI::errstr\n”;
print “\nUPDATE DATABASE with query: $sql:\n”;
$sql=”update config set value = “. $newserial . ” where variable
like ‘user_quarantine_server%’ and value = ” . $oldmachine[0] . “;”;
$sth = $dbh->prepare($sql);
$sth->execute or die “SQL Error: $DBI::errstr\n”;
print “\nUPDATE DATABASE with query: $sql:\n”;
$sql=”update last_notified set server = “. $newserial . ” where
server like ‘” . $oldmachine[0] . “‘;”;
$sth = $dbh->prepare($sql);
$sth->execute or die “SQL Error: $DBI::errstr\n”;
print “\nUPDATE DATABASE with query: $sql:\n”;
$sql=”select value from config where variable like
‘cluster_systems_serial’;”;
$sth = $dbh->prepare($sql);
$sth->execute or die “SQL Error: $DBI::errstr\n”;
if ($sth->rows) {
@row = $sth->fetchrow_array;
if (@row) {
print “\nCurrent Clustered Serial Numbers\n”;
@clustermembers = split(/\n/, $row[0]);
foreach $cluster(@clustermembers)
{
print “Cluster Member:|> ” . $cluster . ”
<|”;
#print it
if ($cluster eq $oldmachine[0]){
print ” OLD/CURRENT SERIAL FOUND &
MATCHED”;
$oldmachine[2] = $newserial;
} else {
$oldmachine[2] .= “\n” . $cluster;
}
print “\n”;
}
print “\nUPDATE CLUSTER DATABASE – run
following sql:\n”;
$sql = “update config set value=’” .
$oldmachine[2] . “‘ where variable like’cluster_systems_serial’;”;
print “$sql\n”;
} else {
die(“fatal error – unable to find
current cluster serial.”)
}
}
$shell_command = `rm -f /root/machine$oldmachine[0]`;

}

$sth->finish;
$dbh-> disconnect;
exit();
<END OF SCRIPT>
————————————————————————— ————
What else can you do?
View the logs:
less /mail/log/info (mail log)
less /mail/log/gui (what has done on the gui)
run diagnose.sh and get a look at what is wrong

Read database values such as domain controller/ad login credentials with
config_read %ldap% and a plethora of other useful information

READ, REQUEUE & REDELIVER MESSAGES;

REQUEUE INBOUND/ALL MAIL
postsuper -r ALL

REQUEUE OUTBOUND MAIL
postsuper -c /home/emailswitch/code/firmware/current/etc_outbound -r ALL

postcat <path_to_message>
postcat -q <queue_id>

READ INBOUND
mailq
postqueue -c /home/emailswitch/code/firmware/current/etc/ -p

find /mail/email/deferred -type f -exec ls -l {} \; | wc -l
******** THIS WILL GIVE QUEUE ERRORS ************
find /mail/email/defer -type f -exec head {} \;
******** THIS WILL GIVE QUEUE ERRORS ************

READ OUTBOUND
postqueue -c /home/emailswitch/code/firmware/current/etc_outbound/ -p
find /mail/email_outbound/deferred -type f -exec ls -l {} \; | wc -l   //
show how many
find /mail/email_outbound/defer -type f -exec head {} \;

REDELIVERY
In spam firewall v3.5.12.010 there is a new deliver_mstore that will find
messages even if they are further then the previous 250,000 message limit.
It does require full timestamps when specifying date ranges. yyyy-mm-
ddThh:mm:ss
For example:
“2007-04-10T04:00:00:00/2007-04-12T00:00:00″ or “2007-05-16T10:40:53/
T17:03:00″
Start or end may be omitted: “2007-01-20T00:00:00/”

deliver_mstore.pl -d “2007-10-09T11:47/2007-10-09T11:48″
2007 – Year
10 – Month
09 – Day
T11:47 – Time from
T11:48 – Time To

Use the FILTER to narrow down the delivery

-d, –time=s
(Must specify) A date/time range, specified as start/end dates
and times of day in the ISO 8601 extended format (e.g.,
“2007-04-10T04:00/2007-04-12″ or
“2007-05-16T10:40:53/T17:03:00″.). Start or end may be omitted,
as “2007-01-20T00:00/”.

-f, –from=s
The mail envelope sender.

-t, –to=s
The mail envelope recipient.

-c, –action=s
The action taken for the message. Either a number, or one of:
allowed, aborted, blocked, quarantined, tagged,
deferred, pu-quarantine, or whitelisted.

-r, –reason=i
The reason for the action taken for the message. A number.

-e, –extra=s
Additional details on the reason for the action taken for the
message. An exact string match.

-s, –subject=s
Substring search within subject.

-b, –body-text
A regular expression to match against the message content
(header & body). WARNING: use of this option will incur extra
overhead, as it requires that all mail content be decoded and
processed.

-o
OR the previous filter option with the following one
(otherwise, they are ANDed).
–regex
Use regexes for filters, instead of matches.
!
Negate the sense of the following filter option.
(, )
Used to group options together. Note that you will need to
escape these within the shell: \( \) or ‘(‘ ‘)’.

Example (per-user email address): this will redeliver from Date (-d),
Action (-c) and To Email (-t)

# deliver_mstore.pl -d “2008-03-13T01:00/2008-03-15T01:00″ -c “allowed” -
t “test_c@twonks.com”
Example (per domain): this will redeliver from Date (-d), Action (-c) and
To domain (-t) (note: –regex must be there)
#deliver_mstore.pl -d “2008-02-20/2008-03-18″ –regex -c “0″ -t
“*@barracuda.com”

Source: (Mustapha Freeone) microsoft.public.exchange.admin

how to install ipa files on an iPhone or iPod Touch OS2.1 and OS3.0?

June 30th, 2009 by shiraj

So, how to install ipa files on an iPhone or iPod Touch OS2.1 and OS3.0?
Username: root
password for root: alpine
password for mobile: dottie
1. You need to be on jailbroken iPhone with Cydia installed. For this, you may use QuickPwn, PwnageTool, or WinPwn. See my tutorials for on how to jailbreak your iPhone or iPod Touch using any of these tools. (I installed Community source)
2. Install OpenSSH from Cydia on your iPhone. Click on Cydia and then click Install (Sections)>Networking>OpenSSH then click Install>Confirm (if you get a running out of disk space error click “ok”).
3. Log into WinSCP. (I used Fugu) The first time you try to login you may get a connection timeout error, click retry several times (up to 20 times!) and it should work. If you still get an error, reboot your iPod/iPhone and try again.
4. Navigate to /private/var/mobile/ folder
5. Set the permission of the Applications folder to 777 (make sure reclusive is checked).
———Note: You will only need to create these two Documents folders once for OS3 don’t need to ———
for OS3 Simply go to Cydia and add the following source: http://cydia.hackulo.us. Then install the application called AppSync. This will patch your MobileInstallation file. Don’t need to do step 6-14.
6. Stay in the /private/var/mobile/ folder.
7. Create a folder called “Documents” in the /private/var/mobile/ folder. Make sure to spell “Documents” correctly, with a capital “D”.
8. Set the permission to 777.
9. Navigate to the root level and open the /Applications folder.
10. Create a folder called “Documents” inside the /Applications folder and set permission to 777.
11. Go to <root> /System/Library/PrivateFrameworks/MobileInstallation.framework
12. Rename the file “MobileInstallation” to “MobileInstallation.bak”
13. Download this patched MobileInstallation file from HERE. Note that you have to download the patched file for the firmware you are running. ie. if you are running 2.1, you need the MobileInstallation 2.1 patched file.
14. Place the patched file into the /System/Library/PrivateFrameworks/MobileInstallation.framework folder and set the permissions 775 for the patched MobileInstallation file. If there is some type of extension (ie .dylib), then you need to remove that extension.
15. Reboot your iPhone/iPod Touch
16. Download cracked api Games and Apps from Here.
17. Download at least one App from Apple App Store (Free or Paid). What I do is I download one app from the App Store using iTunes, then I sync my iPhone and reboot it. Then I download one app from the App Store on the iPhone and reboot the phone. THIS IS VERY IMPORTANT: Otherwise you will get an error! [Only need to do this once]
18. Drag and drop the .ipa file you downloaded into the iTunes Application library.
19. Sync your iPhone/iPod Touch and enjoy!

P2V (virtualise) Linux box with VMware Converter

November 19th, 2008 by shiraj

For those you who are looking for the comprehensive details steps of how to P2V a linux box with VMware Converter.

Pre-requisites: Have the Linux installation Boot CD1 handy. You should purchase VMware Converter Enterprise license.

1. Download VMware Converter Enterprise latest version and burn it to the CD. I used version 3.0.2 update 1.
2. Boot up with the above VMware Converter CD on the physical Linux box.
3. Let the WinPE load up and watch for the Network adaptor settings screen. Make necessary changes such as IP addressing.
4. Finally you should see the VMware Converter screen where you can import the machine.
5. Click on Import machine button and follow the steps.
6. Important Make sure you select all disks and no resizing during the import process.
7. If all the information is entered correctly, it should start importing to ESX/VC.
8. It will create a VM on the selected ESX server.
9. In my case it failed at 97% where the error occurs at customization steps (which I did not configure for) but after successful copy of the local disks.
10. Go to the ESX server where the imported VM resides. Edit the settings.
11. In the VM’s settings, check any irregular settings which might appears. In my case, I had to change the OS type of VM from other 32bit to REHL 4.
12. When the VM is powered up for the first time as soon as P2V has finished, kernel panic will occur and it is just as expected.
Steps to fix the kernel panic on the Linux VM
13. Boot up with the bootable Linux installation CD 1. If it doesn’t boot from the CD, you may have to change the VM’s setting to go to the BIOS setting on the next boot so that you can change the boot sequence.
14. At the boot: prompt type Linux rescue and hit enter.
15. It will search for the Linux partition. In my case, it could not find the hard disks. So, I had to go back to VM’s setting to change the BusLogic SCSI controller to LsiLogic.
16. After changing to LsiLogic controller, Linux installation image was able to find the Linux partitions on the VM.
17. The system will give you opportunity to mount the root file system. At the linux prompt, type: chroot /mnt/sysimage and hit enter.
18. It will get you back to the prompt. Now at the prompt type: kudzu and hit enter.
19. It will ask you to remove old hardware and detect and install new hardware. Follow the instructions.
20. After exiting from Kudzu, at the prompt type: ls /lib/modules and take note of the version/image. For instance, your active linux version is 2.6.9-5.ELsmp. Take note of it.
21. After that you will need to make new RAM disk as follows.
22. Type /sbin/mkinitrd -v -f /boot/initrd-2.6.9-5.ELsmp.img 2.6.9-5.ELsmp
23. Reboot.
24. After the reboot, it should successfully boot up without any kernel panic.
25. If you still see the kernel panic, then go back to step 20 and find the correct module and repeat the steps 22 & 23.
26. After you have booted the system successfully, determine if it is working as expected.
27. Install VMware Tools.

The steps from 13 to 24 should take about 20-30 minutes. This procedure should be the same for most Linux distributions. Hope it will help on your P2V of Linux boxes.

http://virtualaleph.blogspot.com/2007/05/virtualize-linux-server-with-vmware.html